迴圈就是乙個重複的過程,我們人需要重複幹乙個活,那麼計算機也需要重複幹乙個活。atm驗證失敗,那麼計算機會讓我們再一次輸入密碼。這個時候就得說出我們的wile迴圈,while迴圈又稱為條件迴圈。
copywhile 條件
code 1
code 2
code 3
...while true:
print('*1'*100)
print('*2'*100)
copy# 實現atm的輸入密碼重新輸入的功能
while true:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
else:
print('username or password error')
上述**雖然實現了功能,但是使用者密碼輸對了,他也會繼續輸入。
break的意思是終止掉當前層的迴圈,執行其他**。
copywhile true:
print('1')
print('2')
break
print('3')
copy1
2
上述**的break毫無意義,迴圈的目的是為了讓計算機和人一樣工作,迴圈處理事情,而他直接列印1和2之後就退出迴圈了。而我們展示下有意義的while+break**的組合。
copywhile true:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
break
else:
print('username or password error')
print('退出了while迴圈')
copyusername: nick
password: 123
login successful
退出了while迴圈
continue的意思是終止本次迴圈,直接進入下一次迴圈
copyn = 1
while n < 4:
print(n)
n += 1
copy123
copyn = 1
while n < 10:
if n == 8:
# n += 1 # 如果注釋這一行,則會進入死迴圈
continue
print(n)
n += 1
continue不能加在迴圈體的最後一步執行的**,因為**加上去毫無意義,如下所示的continue所在的位置就是毫無意義的。ps:注意是最後一步執行的**,而不是最後一行。
copywhile true:
if 條件1:
code1
code2
code3
...else:
code1
code2
code3
...continue
atm密碼輸入成功還需要進行一系列的命令操作,比如取款,比如轉賬。並且在執行功能結束後會退出命令操作的功能,即在功能出執行輸入q會退出輸出功能的while迴圈並且退出atm程式。
copy# 退出內層迴圈的while迴圈巢狀
while true:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while true:
cmd = input('請輸入你需要的命令:')
if cmd == 'q':
break
print(f' 功能執行')
else:
print('username or password error')
print('退出了while迴圈')
copy# 退出雙層迴圈的while迴圈巢狀
while true:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while true:
cmd = input('請輸入你需要的命令:')
if cmd == 'q':
break
print(f' 功能執行')
break
else:
print('username or password error')
print('退出了while迴圈')
copyusername: nick
password: 123
login successful
請輸入你需要的命令:q
退出了while迴圈
copy# tag控制迴圈退出
tag = true
while tag:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while tag:
cmd = input('請輸入你需要的命令:')
if cmd == 'q':
tag = false
print(f' 功能執行')
else:
print('username or password error')
print('退出了while迴圈')
copyusername: nick
password: 123
login successful
請輸入你需要的命令:q
q 功能執行
退出了while迴圈
while+else:else會在while沒有被break時才會執行else中的**。
copy# while+else
n = 1
while n < 3:
print(n)
n += 1
else:
print('else會在while沒有被break時才會執行else中的**')
copy1
2else會在while沒有被break時才會執行else中的**
流程控制之while迴圈
while 條件 迴圈體 如果條件為真,那麼迴圈體則執行,執行完畢後再次迴圈,重新判斷條件。如果條件為假,那麼迴圈體不執行,迴圈終止while true name input please input your name pwd input please input your password if...
流程控制 while迴圈
while迴圈的結構 while條件 結果如果條件為真,則直接執行結果,然後再次判斷條件,知道條件為假,停止迴圈。結束迴圈的條件 1.改變條件 2.break 案例 1 猜大小的遊戲 n 66 理想數字為66 content int input 做個遊戲,請輸入我的理想數字是多少 while tru...
Python 流程控制之while迴圈
偽 while 條件 1 2 3 純計算無io的死迴圈會導致致命的效率問題 while true 1 1例 登入輸入賬號密碼返回登入成功或者登入失敗,如果登入失敗重新登入!將條件改為false,等到下次迴圈判斷條件時才會生效 tag true while tag inp name input 請輸入...