自我學習記錄:如有問題,請幫助指正,勿噴。

計算1+2+3+4,我們可以直接寫表達式

print(1+2+3+4)

但是如果數字多了,就會很累

python的循環有兩種,一種是for x in...循環,依次把list或者tuple里面的元素迭代出來,比如

names=('Sam','Max','Leo')
for name in names:
print(name)

執行的這段代碼,就依次打印了names的每一個元素

所以for x in...循環就是把每個元素代入變量x,然后執行縮進塊的語句

我們試一下計算1-10整數之和,可以用sum變量做累加

sum = 0
for x in (1,2,3,4,5,6,7,8,9,10):
sum =sum + x
print(sum)

如果要計算1-100的整數和或者更多,一個個輸入數字會很困難,

在python中有一個'range'的函數,可以生成一個整數序列,再通過'list'函數轉為list

print(list(range(100)))

第二循環是while循環,只要條件滿足,就可以不斷循環,否則退出循環,比如計算100以內的奇數和

sum = 0
n = 99

while n > 0:
sum = sum +n
n = n - 2
print(sum)

sum = 0
n = 99
while n > 0:
break
sum = sum +n
n = n - 2
print(sum,'break 跳出當前循環')

break 提前退出循環

sum = 2
n = 99
s = 100
while n > 0:

continue 跳出本輪循環,不執行本輪循環的后面操作,直接進入下一輪循環。

            
              sum = sum +n
n = n - 2
continue
s = 0
            
          

print('%d %d %d'%(sum,s,n))

練習:計算0-100的整數和,但不計算50-60的整數。

方法一:計算0-50的整數和,再計算60-100的整數和,兩者相加。

n = 0
sum = 0
res = 0
while (n <=50):
res = (res+ n )
n = n + 1
print(res)
n=60
while (n<=100):
sum = (sum + n)
n = n + 1
sum=sum+res
print(sum)

方法二: 先計算0-100的整數和,在減去50-60的整數和。

n = 0
sum =0
res = 0
while n<=100:
sum = (sum +n)
n = n + 1
print(sum)
print(n)
n = 51
while n >50 and n <60:
res = (res + n)
n = n + 1
print(res)
print(sum - res)

方法三:通過if語句判斷50-60的整數,使用continue跳出當前循環,在繼續執行

n=0
sum=0
res=0
while n<=100:
if n <= 50:
res=(res + n)
n=n+1
elif (n>50 and n<60) :
n=n+1
continue
else :
sum=sum+n
n=n+1
print(res)
print(sum+res)

**