流程控制之while迴圈

2022-09-07 06:33:09 字數 3835 閱讀 1352

迴圈就是乙個重複的過程,我們人需要重複幹乙個活,那麼計算機也需要重複幹乙個活。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 請輸入...