Python循環
while
#語法:
while condition:
block #當條件滿足即condition為True,進入循環體,執行block
#舉例:
flag=10
while flag:
print(flag)
flag -= 1
#如果flag=-10:
flag=-10
while flag:
print(flag)
flag += 1
for
for element in itratable:
block #當迭代對象中有元素可以迭代,進入循環體,執行block
range函數
前包后不包range(10) 從0開始不包括末尾的10
for i in range(10):
print(i+1)
#倒敘打印
for i in range(10,0,-1):
print(i)
continue
[中斷當前循環的當次執行,繼續下一次循環]
#舉例:計算10以內的偶數
#方法1
for i in range(0,11,2):
if i != 0:
print(i)
#方法2:
for i in range(11):
if i%2 == 0 and i != 0:
print(i)
break
[終止bread所在整個循環]
#測試break范圍:
for i in range(2):
for j in range(10):
if j < 2:
print(j)
else:
break
print(“aaa”)
0
1
aaa
0
1
aaa `由此結果證明break范圍為所在循環`
練習:
#給定一個不超過5位的正整數,判斷其有幾位,依次打印出個位、十位、百位、千位、萬位的數字
Input_Num=int(input(“Please input integer number:”))
for i in range(len(Input_Num)): #取出數字長度決定循環次數
n=Input_Num%10 #將最后一位取出
Input_Num//=10 #將取出后的剩余數字賦值
print(n) #打印最后一位
y=int(input(“hehhe:”))#邏輯與上面for循環類似
Num_len=4
while Num_len != 0:
n=y%10
y//=10
print(n)
Num_len-=1
循環else字句:
如果循環正常的執行結束,就執行else字句,如果使用break終止,else字句不會執行
#語法:
while condition:
block
else:
block
for element in iteratable:
blcok
else:
block
help(函數名稱)[]help(range)],查看函數幫助
練習
- 打印一個邊長為n的正方形
print(6*”*”)
for i in range(4):
print(“*” + 4*” ” + “*”)
print(6*”*”)
- 打印菱形
n=3
for i in range(1,8,2):
print(n*” “,i*”*”)
n-=1
n=1
for x in range(5,0,-2):
print(n*” “,x*”*”)
n+=1
- 求100以內所有奇數的和
n=0
for i in range(1,100):
if i%2 != 0:
n+=i
print(n)
- 求1到5階乘之和
a=1
b=0
for i in range(1,6):
a *= i #將階乘結果賦予a
b += a #將每個階乘的結果累加賦予b
pirnt(b)
- 給一個數,判斷它是否是素數(質數):一個大于1的自然數只能被1和它本身整除
m=int(input(“please input >1 number:”))
for i in range(2,m):
if m%i == 0:
print(“No”)
break
else:
print(“Yes”)
- 打印九九乘法表
for i in range(1,10):#循環9列
for j in range(1,10):#每行打印結果循環
if j <= i:#判斷打印區間
print(j,”*”,i,”=”,j*i, end = ” “)
print(” “)
- 打印100以內的斐波那契數列
a=0
b=1
while True:
x=a+b
if x<100:
print(x)
else:
break
a=b
b=x
- 求斐波那契數列第101項
a=0
b=1
c=0
while True:
x=a+b
a=b
b=x
c+=1#計數器
if c == 100:
print(x)
break
- 求10萬內的所有素數
import datetime
starttime = datetime.datetime.now()
for i in range(2,100000):
for x in range(2,i):
if i%x==0:
break
else:
print(i)
endtime = datetime.datetime.now()
print (endtime – starttime,”.seconds”)
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87371