for循環
#格式:
for 變量名 in 可迭代對象:
for循環的代碼體
迭代對象可為任何類型:字符串,列表,字典,元組,集合
eg: name_list = ['xxx', 'tony', 'jack', 'gary'] 循環列表中的每一個元素並打印
for name in name_list:
print(name)
'''
for循環能完成的事情,while循環都可以完成
'''
# 用while循環實現:
count = 1
while count < 5:
print(name_list[count])
count += 1
故:for循環語法更加簡潔 並且在循環取值問題上更加方便
# for循環字符串
for i in 'hello world'
print(i)
'''挨個打印出來字符串的每個字符(空格也屬於一個字符)'''
# for循環字典:默認只能拿到K:V鍵值對的K
dic = {'username':'gary', 'password':123, 'hobby':'basketball'}
for i in dic:
print(i,dic[i])
'''輸出結果為:
username gary
password 123
hobby basketball'''

range關鍵字
#用法:
range(num) : 0到num-1
range(num1,num2): num1到num2-1
range(num1,num2,num3): num1到num2-1 num3為步長
eg:for i in range(1,10,2) 則取到的為1 3 5 6 7 9
#從頭到尾,但不會循環最后一位。顧頭不顧尾
#range在不同的版本解釋器中,本質不同
在python2.x中range會直接生成一個列表
在python3.x中range是一個迭代器 節省了內存空間
在python2.x中xrange為一個迭代器
for+break
#break 用於終止本層循環
eg:
for i in range(1,10):
if i == 4:
break
print(i)
#輸出結果為:1 2 3
for+continue
continue 用於結束本次循環
eg:
for i in range(1,10):
if i == 4;
continue
print(i)
#輸出結果為:1 2 3 5 6 7 8 9
for+else
else在for循環中正常結束循環才會執行
eg:
for i in range(10):
if i==4:
break
print(i)
else:
print('循環')
#這種情況不會打印 else:下的循環
for循環的嵌套使用
#打印99乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s'% (i, j, i*j),end=' ')
print() # 這個為換行