循環取值
while循環
students = ['egon', 'lxx', 'alex']
i = 0
while i < 3:
print(students[i])
i += 1
-
針對循環取值操作,while循環並不擅長,於是python提供一個專門循環取值操作:for循環
for循環
students = ['egon', 'lxx', 'alex']
for x in students: # 有幾個值就循環幾次
print(x)
dic={'name':'egon','age':18,'sex':'male'}
for aaa in dic: # 從字典里取出的默認是key,
print(aaa,dic[aaa])
range(1,3) # 從1開始,顧頭不顧尾
for x in range(1,3): # [1,2]
print(x)
-
range()
range(3):默認從0開始,顧頭不顧尾,到2結束,0,1,2
range(1,6) # 可以指定開頭,從1開始,顧頭不顧尾,到5結束,1 2 3 4 5
range(1,6,2) # 可以指定步長,1 3 5
總結
一、while循環與for循環
相同之處:都是循環,都是用來做重復的事情
不同之處:
- while循環通常用來循環執行某段代碼
for循環通常用來進行循環取值 - while循環的循環次數取決於條件什么時候為假
for循環循環的次數取決in后的數據類型所包含的值的個數
for+range():range用來產生一個數字序列
- 用途1:用來重新n次某段代碼
- 用途2:range可以用來產生數字序列,數字對應的是列表的索引
所以說,for+range()是可以按照索引編列列表
for+break
for i in range(3):
username=input('username>>: ')
password=input('password>>: ')
if username == 'gxy' and password == '123':
break
else:
print('用戶名或密碼錯誤')
for+continue
for i in range(5): # [0,1,2,3,4]
if i == 2 or i == 3:continue
print(i)
for+else
- 同while+else一樣,在執行break操作后else之后的子代碼塊不會執行
for i in range(3): #
username=input('username>>: ')
password=input('password>>: ')
if username == 'gxy' and password == '123':
break
else:
print('用戶名或密碼錯誤')
else:
print('賬號密碼輸錯次數達到最大限制,退出程序')