Pythonのプロセス制御ループ制御-3

ループ制御は、それがループを抜け、終了条件が満たされるまでプログラムループを実行するためにコードの一部を作ることです。

Pythonのコントロールへのforループとwhileキーワードが、他の言語ではしませんでした... while文(JavaとPHPの両方でながら行います)。

whileループ
次のように制御ループの構成図中:

while 判断表达式:
    内部代码块

接下来看一个具体的案例,求1-100之间的总和
n = 100
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和为: %d" % (n,sum))
-----------------------------------------

通常在循环条件中,会设置退出条件,防止程序死循环。
while True:
    s = input("what's you name:")
    print("you name is %s"%s)
print("bye")
这个程序永远也不会打印bye。

else節中:
ループはまた、else節を追加することができますが。通常のwhileループが終了すると、それは他の文を実行します。しばらくインデントのと同じレベルで他に注意してください!

number = 10
i = 0
# i = 11
while i < number:
    print(i)
    i += 1
else:
    print("执行完毕!")

このような、ないelse文をサイクリングなど早期終了メカニズムを破ることを余儀なくされた場合。

number = 10
i = 0
while i < number:
    print(i)
    i += 1
    if i == 7:
        break           
else:
    print("执行完毕!")

循環のために
、すべてのキーwhileループと同様にするが、通常はループの反復のために使用されるが、このようなリストまたは辞書などのオブジェクトをトラバースすることができます。次のように一般的な形式は次のとおりです。

for <variable> in <sequence>:
    <statements>
for ... in ....:属于固定套路
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

ネストされたループ

if判断可以嵌套,while和for当然也可以嵌套。但是建议大家不要嵌套3层以上,那样的效率会很低。
# 这是一个判断质数的程序
# 一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数)

for n in range(2, 100):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
        # 循环中没有找到元素
        print(n, ' 是质数')
        # print(n,end = ', ')

break文

想在循环过程中退出循环,怎么办?用break语句!
break只能用于循环体内。其效果是直接结束并退出当前循环,剩下的未循环的工作全部被忽略和取消。
Python的break只能退出一层循环,对于多层嵌套循环,不能全部退出。
for letter in 'Hello world':     # 第一个实例
   if letter == 'r':
      break
   print ('当前字母为 :', letter)
--------------------------------------------  
var = 10                        # 第二个实例
while var > 0:              
   print ('当前变量值为 :', var)
   var -= 1
   if var == 5:
      break

ステートメントを続けます

与break不同,continue语句用于跳过当前循环的剩余部分代码,直接开始下一轮循环。它不会退出和终止循环,只是提前结束当前轮次的循环。同样的,continue语句只能用在循环内。
for letter in 'Hello world':     # 第一个实例
   if letter == 'o':            # 字母为 o 时跳过输出
      continue
   print ('当前字母 :', letter)
 -------------------------------------------------------
var = 10                    # 第二个实例
while var > 0:              
   var -= 1
   if var == 5:             # 变量为 5 时跳过输出
      continue
   print ('当前变量值 :', var)

あなたはフロントが言っただけで、Pythonは、現在層のサイクルから抜け出すことができて、すべての飛び出しません。だから、どのように行うには、このような要望がある場合は?

设置flag
flag = False            # 用于控制外层循环的标志
for i in range(10):
    if flag:            # 当flag被内层循环设置为True的时候,跳出外层循环
        break
    for j in range(10):
        if j==7:
            flag = True
            break
        print(i,j)

おすすめ

転載: www.cnblogs.com/sakura579/p/12244015.html