Pyhton 迴圈結構

2021-08-19 13:55:27 字數 4633 閱讀 6136

迴圈結構

判斷條件 boolean型別的表示式

while  判斷條件:

迴圈體(需要注意冒號和縮排)

避免死迴圈-->正規**

(while true為死迴圈)

例:1.求1-100偶數之和

n=1

a=0while n<=100:

if n%2==0:

a+=n

n=n+1

print(a)

2.請使用者輸入數字 求和 輸入0結束退出

sum=0

while true:

n=int(input('請輸入數字:'))

if n==0:

break

sum+=n

print(sum)

while...else 迴圈不正常結束

例:3.輸入數字 遇到3和5的倍數輸出當前值是3和5的倍數

遇到5的倍數輸出當前值是5的倍數

遇到3的倍數輸出當前值是3的倍速

n=1

while n<=100:

n=int(input('請輸入數字:'))

if (n%3==0)and(n%5==0):

print(n,'是3和5的倍數')

elif n%5==0:

print(n,'是5的倍數')

elif n%3==0:

print(n,'是3的倍數')

n=n+1

else:

print('迴圈結束')

for迴圈     range()函式

如果你需要遍歷函式序列,可以使用內建range()函式,它會生成數列,不包含結尾引數

range(5):乙個引數 從0-5 不包含自己

range(5,9):二個引數 從5開始到9不包含自己

range(5,55,5):三個引數 從5開始到55不包含自己增量是5也可以是複數

for 迭代變數 in 數列/字典/元組

逐個從列表/字典/元組取值

for x in range(1,x):

迴圈體例:

nums=range(5)

for i in range(5):

print(i)

執行以上程式輸出結果如下

012

34

4.輸出一行9個*

for i in range(9):

print('*',end='')

5.輸出9行9個*

for i in range(9):#幾行

for i in range(9):#一行幾個

print('*', end='')

print()

6.用*輸出直角三角形

for i in range(1,6):

for j in range(6,i,-1):

print('*',end='')

print()

執行以上程式輸出結果如下

*****

****

*****

*

7.99乘法表

for i in range(1,10):

for j in range(1,i+1):

print(j,'*',i,'=',j*i,end='\t')

print()

執行以上程式輸出結果如下

1 * 1 = 1	

1 * 2 = 2 2 * 2 = 4

1 * 3 = 3 2 * 3 = 6 3 * 3 = 9

1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16

1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25

1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36

1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49

1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64

1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81

8.菱形

rows=7

for i in range(rows):#第乙個等腰三角形7行

for j in range(rows-1,i,-1):#rows-1 第乙個直角三角形少一行讓等腰三角形左移 -1遞減

print(' ',end='')

for k in range(i*2+1):#i*2 兩個直角三角形 +1為等腰三角形每行+1

print('*',end='')

print()

for i in range(1,rows-1+1):

for j in range(i):

print(' ',end="")

for k in range((rows-i)*2-1):

print("*",end='')

print()

執行以上程式輸出結果如下

*

********

*******

*********

***********

*************

***********

*********

*******

*****

****

rows=int(input('請輸入菱形的行數')

s=rows//2+1#上半部分

x=rows-s #下半部分

for in in range(s):

for j in range(s-1,i,-1):

print(' ',end='')

for k in range(i*2+1):

print('*',end='')

print()

for in in range(1,x+1):

for j in range(i):

print(' ',end='')

for k in range((s-i)*2-1):

print('*',end='')

print()

9.統計3個班級 中每個班級3個學生的成績: 大於80的人數幾個

a=b=c=d=0

while true:

num=int(input('請輸入成績:'))

if num>=90 and num<=100:

a+=1

elif num>=80 and num<90:

b+=1

elif num>=60 and num<80:

c+=1

elif num>=0 and num<60:

d+=1

else:

print('超出範圍重新輸入')

continue

str=input('是否重新輸入? y/n')

if str.__eq__('n'):

break

print('>=90',a)

print('>=80',b)

print('>=60',c)

print('>=0',d)

雙重迴圈中break,continue的作用

<1>.continue結束本次迴圈 繼續下一次迴圈continue下面的**不執行

<2>.break 結束所在的迴圈層 執行外層**-->外側大迴圈

10.統計三個班級中每個班級三個學生的成績:大於80的人數有幾個

count=0

for i in range(1,4):

print('請輸入第',i,'個班級學生的成績')

for j in range(1,4):

score=int(input('請輸入第'+str(j)+'個學生成績'))

if score<0:

print('輸入負數 進入下乙個班級')

break

if score<80:

continue

count+=1

print('大於80的人數:',count)

迴圈結構語句 For迴圈

迴圈結構語句 for迴圈a 格式for 初始語句 條件判斷語句 條件控制語句 步長語句 b 執行流程 1 首先初始化語句進行賦值 然後看條件語句是否成立 2 如果是true,成立,那麼就執行迴圈體語句 3 執行完畢之和 會執行條件控制語句 該變數自增 1或者自減 1,然後再次判斷條件語句是否成立 4...

For迴圈結構

1.for迴圈 是我們使用的最多的一種,為我們專門提供了乙個位置,存放三個表示式 1 初始化表示式 2 迴圈條件表示式 3 累加器 語法 for 初始化表示式 條件表示式 累加器 執行流程 1 執行初始化表示式 2 執行條件表示式 如果條件滿足,為true,執行迴圈體 執行累加器 繼續執行條件表示式...

for迴圈結構

執行順序 for語法結構 for 引數初始化 條件判斷 更新迴圈變數 for 迴圈一般用於次數固定的時候 for 迴圈的特點 先判斷,在執行 初始化變數 條件判斷 看是否為true,為true就進行迴圈操作,否則就退出迴圈 迴圈操作 更新迴圈變數 更新後會再一次條件判斷,看是否為true,為true...