1. 程式人生 > >3.流程控制

3.流程控制

十二.流程控制之while迴圈

while迴圈又稱條件迴圈,條件成立則迴圈,條件失敗則停止迴圈

語法是while後面跟條件即布林值

例如:

x = 10

y = 0

while x > y:

x = x +1

y = y +2

條件不成立,迴圈打斷 # 迴圈會繼續到下一次迴圈開始,判斷條件不成立,則迴圈打斷

打斷 while迴圈的另外兩種方式種方式

x = 10

y = 0

while x > y:

x = x +1

y = y +2

continue

直接結束本次迴圈,進入下一次迴圈

x = 10

y = 0

while x > y:

x = x +1

y = y +2

break

直接結束本層迴圈

while 迴圈還可以巢狀

tag=True 

  while tag:

    ......

    while tag:

      ........

      while tag:

        tag=False
        
        
name = 'egon'
password = '123'
count = 0

while count <= 3:
  if count == 3:
      print('登入錯誤次數過多')
      break
  inp_name = input('使用者名稱:')
  inp_pwd = input('密碼')
  if name == inp_name and password == inp_pwd:
      print('登入成功')
      break
  else:
      count += 1
      print('登入失敗')
求1-2+3-4+5 ... 99的所有數的和
count = 1  # 定義計數為1
n = 0 # 定義n為0
while count < 100: # 條件判斷計數小於100
  if count%2 == 0: # 判斷如果求餘值為0,那麼為偶數
      n -= count # n = n - 偶數
      count += 1 # 計數+1
  elif count%2 == 1: # 判斷是否為計數
      n += count # n = n + 奇數
      count += 1 # 計數+1
print(n) # 列印n

十三.流程判斷之 for 迴圈

for 迴圈 也被稱為迭代迴圈

語法為

for i in range(10):

縮排程式碼塊

break與continue(同while迴圈)

for迴圈非常強大,強大之處在於迴圈取值

同樣可以巢狀

# 列印九九乘法表
# for i in range(1,10):
# #     for j in range(1,i+1):
# #         if i * j >= 10:
# #             if i
# #             print('{} * {} ={} '.format(j,i,j*i),end='')
# #         elif i * j < 10:
# #             print('%s * %s = %s ' % (j, i, j * i), end='')
# #     print('') #print自帶換行功能


# 列印金字塔
#     *
#   ***
#   *****
# *******
# *********
# lv = 5
# n = 1
# while lv >= 1:
#     print(' '* (lv -1),'*' * n)
#     n += 2
#     lv -= 1