2.7ブランチとサイクル3
1.ながらサイクル
While 条件:
循环体
条件は、ループ本体が実行された事実である、ループ偽終了している状態を知る
条件を設定することができ、ループ本体が変化すると、それが特定のサイクルの実行後に、意志出口が発生し、Pythonは無限ループを実行することができないであろう
サイクル2.(サイクルカウンタ)
forループ#pythonサイクルとC言語は、もう少し強力な機能であることが、同じではない
例:
for 目标 in 表达式:
循环体
favorite = "weivid"
for i in favorite:
print(i,end=" ") # 打印字符串中的每个字符,并空格连接
結果を操作し、スペースで区切られた:
実施例II:
member = ['weivid', 'wangwei', 'yijing'] #[]定义member是一个列表类型
for each in member:
print(each, len(each)) #len表示字符串的长度
結果:
3.範囲()とforループなど
3.1の範囲()メソッド
範囲([ストラト、]、STOPは、[、STEP = 1])
#BIF []は二つのパラメータであり表す3つのパラメータを有する任意
#step = 1つのデフォルト三パラメータが表します値1
の範囲BIFこの効果は、数字のパラメータ値が開始シーケンスの終わりを停止するには、最初からパラメータ値を生成することです
range(5) #返回一个range(0,5),值为0,1,2,3,4不包含5
#左闭右开[0,5)
print(range(5))
list1 = list(range(5))#list()把参数生成一个列表
print(list1)#输出[0,1,2,3,4]
結果:
3.2がデフォルト0からパラメータを渡すレンジ、スタート
print("传递一个参数的range(5)")
for i in range(5):
print(i, end=" ")
print()
結果:
3.2は、2つのパラメータを渡すレンジ
print("#传递两个参数的range(1,10):")
for j in range(1, 10):
print(j, end=" ")
print()
実行結果:
3.3の範囲には3つのパラメータを渡され、3番目のパラメータはステップです
print("#传递三个5参数的range(1,10,2)")
for m in range(1,10,2):
print(m, end=" ")
print()
結果:
4. 2つの重要文
1)break文
ループ本体の外に、現在のサイクルを終了
条件はループの外にジャンプすることができます満たされているの#break
string = "I love weivid"
answer = input("请输入weivid最想听到的一句话:")
while True:
if answer == string:
break
else:
answer = input("sorry!请重新输入(答案对了才能退出):")
print("you are goood!")
2)ステートメントを続けます
サイクルの現在のラウンドの終了は、サイクルの次のラウンドは、次のサイクルを実行する前に、最初の正しくない場合は、ループを終了し、実行中に条件を決定します
#continue
for i in range(10):
if i%2 != 0:
print(i)
continue
i += 2
print(i)
ダイレクトプリント#奇数番号、および終了ループ、および別のサイクルが始まる
条件が満たされていない場合でも-、その後、2つの印刷追加#
実行結果を:
5.演習
1.何回印刷の次のコードの断片
for i in range(0,10,2):
print("I love weivid")
ファイブ#
for j in 5:
print("I love weivid!!!")
会員事業者であるため、#は、文句を言うでしょう
2.範囲(10)何が数になりますか?
範囲(0,10)を生成する
リスト(範囲(0,10))リストに[0,1,2,3,4,5,6,7,8,9]は、10が含まれていません
3.コード・フラグメント・プリントとは何だろうか?#break循環のうち一つだけ
while True:
while True:
break
print(1)
print(2)
break
print(3)
結果:
3.どのような状況では、我々はループ本体が常に真である必要がありますか?
ゲームは、実装のために、オペレーティングシステムは、サーバを実行しています。
Trueではありませんが、「死のサイクル」のために、必ずしも悪いことではありませんが、あなたは常にサイクルから抜け出す使用することができます
4.協会は、コードの効率を改善するコードフラグメントを変更します
i = 0
string = "I love weivid"
while i < len(string):
print(i)
i += 1
理由は上記のコードフラグメント#非効率的で、ため:すべてのサイクルの関数でlen()を使用する必要があり
、以下のように変更位:
i = 0
string = "I love weivid"
length = len(string)
while i < length:
print(i)
i += 1
プログラミングの問題
プログラムが間違いを作るための3つだけのチャンスは、ユーザー、ユーザーのパスワードを検証するために設計されていますが、コンテンツの入力が含まれている場合
、その後の数がカウントされません「*」
count = 3
password = "I love weivid" #假设密码设定为:I love weivid
while count > 0:
answer = input("请输入用户密码:")
if answer == password:
print("密码正确,请进入程序")
break
elif '*' in password:
print("密码不包含”*“号,请重新输入,您还有",count,"次机会!",end=" ")
continue
else:
print("您的密码输入错误!您还有",count-1,"次机会!")
count -= 1
6. 100から999の間のすべての水仙の数を見つけ、プログラムを書きます
3桁の数とは数字の3乗に等しい場合、この数は、水仙= 1、例えば153と呼ばれている。3 + 5 。3 + 3 。3
for i in range(100,999):
sumdata = 0
temp = i
while temp:
sumdata = sumdata + (temp%10)**3
temp //= 10 # 此循环是计算每个数的三位数的立方和,注意使用地板除法
if sumdata == i:
print(i)
7.三色のボールの問題
赤そのうちの3つは赤、黄色と青のボール、イエロー3,6青、ボックス12、任意のワークアウトからボール8にこれらのボールは、様々なプログラミングボールを計算します色
print("三色球:红、黄、蓝")
#red = yellow = blue = 0
for red in range(0,4):
for yellow in range(0,4):
for blue in range(2,7):
if red + yellow + blue == 8:
print(red,yellow,blue)
print("进程结束")