7 迴圈之while迴圈和深淺copy

2022-09-06 13:12:20 字數 3332 閱讀 3351

一、while迴圈

1.1、什麼是迴圈結構?

迴圈結構就是重複的執行某段**

1.2、為什麼需要迴圈結構?

希望計算機能夠像人一樣具備重複去執行某件事的能力

1.3、怎麼使用while迴圈結構?

1.3.1、迴圈語法的基本使用:while+else

count=0

while count<3:

count+=1

else:

print(count)

1.3.2、死迴圈與效率問題

while true:

print(1+1)     #  純計算無io會導致致命的效率問題。

1.3.3、退出迴圈的兩種方式

1.3.3.1、將條件改為false,下次迴圈判斷條件時才會生效。while+tag

tag=true

while tag:

inp_name = input('請輸入你的賬號:')

inp_pwd = input('請輸入你的密碼:')

if inp_name == ursename and inp_pwd == input:

print('登陸成功')

tag=false

else:

print('賬號或密碼錯誤')

1.3.3.2、break,只要執行到break,就會立即斷開本層迴圈

while true:

inp_name = input('請輸入你的賬號:')

inp_pwd = input('請輸入你的密碼:')

if inp_name == ursename and inp_pwd == input:

print('登陸成功')

break

else:

print('賬號或密碼錯誤')

1.3.4、while巢狀迴圈與結束

1.3.4.1、將條件改成false

username = '123'

password = '321'

tag=true

while tag

inp_name=input('請輸入賬號:')

inp_psd = input('請輸入密碼:')

if inp_name == username and inp_psd == password:

print('登入成功')

while tag:

cmd=input('請輸入命令:')

if cmd=='q':

print('正在登入')

tag=false

else:

print('請輸入正確命令:'.format(cmd=a))

else:

print('登入失敗')

1.3.4.2、用break退出

username = '123'

password = '321'

while 1:

inp_name=input('請輸入賬號:')

inp_psd = input('請輸入密碼:')

if inp_name == username and inp_psd == password:

print('登入成功')

while :1:

cmd=input('請輸入命令:')

if cmd=='q':

print('正在登入')

break

else:

print('請輸入正確命令:'.format(cmd=a))

break

else:

print('登入失敗')

count =0

while count <6:

if count == 4:

count +=1  

continue

print(count)

count +=1

1.3.6、案例

要求:允許登入三次,失敗則退出,成功要求輸入命令,否則繼續輸入

username = 『123』

password = '321'

count = 0

while count < 3:

inp_name = input('請輸入你的賬號:')

inp_psd = input('請輸入你的密碼:')

if username == inp_name and password == inp_psd:

print('賬號密碼正確')

while 1:

tag = input('請輸入指令:')

if tag==『a』:

print('正在登入中')

break

else:

print('輸入的指令錯誤,請重新輸入').format

break

else:

print('賬號密碼錯誤三次,已關閉')

二、深淺copy

在使用程式編寫過程中需要將值進行拷貝,更改其中乙個變數,另乙個變數值不能變化。這就需要深淺copy了。

2.1、賦值

二者分隔不開,a改b也跟著該,因為指向的就是同乙個位址

a=b2.2、淺copy列表

a=[1,2,[3,4]]

b=a.copy()

print(id(a[0]),id(a[1]),id(a[2]))

print(id(b[0]),id(b[1]),id(b[2]))

a[0]=5

a[1]=6

a[2][0]=7

a[2][1]=8

print(id(a[0]),id(a[1]),id(a[2]))

print(id(b[0]),id(b[1]),id(b[2]))

如需所示:變化前和變化後的狀態

2.3、深copy列表

a=[1,2,[3,4]]

import copy 

b=copy.deepcopy(a)

print(id(a[0]),id(a[1]),id(a[2]))

print(id(b[0]),id(b[1]),id(b[2]))

a[0]=5

a[1]=6

a[2][0]=7

a[2][1]=8

print(id(a[0]),id(a[1]),id(a[2]))

print(id(b[0]),id(b[1]),id(b[2]))

如圖所示:

for迴圈和while迴圈

while迴圈 語法 while 判斷條件 迴圈體 計算 1 2 3 4 100 n 1 res 0 while n 100 res n n 1 print res 5050while迴圈之else 語法 while 判斷條件 迴圈體else 語句塊for迴圈 for x in 序列 迴圈體rang...

python迴圈之while迴圈

python中迴圈有兩種,while和for迴圈。在while迴圈中,當while值為true時,while迴圈會一直進行下去 無限迴圈 直到當while值為false時,while迴圈才會停止。while迴圈結構 無限迴圈 a true while值 while a print hello,wor...

Python迴圈之while迴圈

while 條件 迴圈體我們先借助一小段 認識下while迴圈,得到它的基本原理 while true print 狼的 print 我們不一樣 print 愛情買賣 print 不將就 print 年少有為 我們知道,是自上而下執行的,當直譯器看到while它會幹什麼呢,它會先判斷你while後面...