大家好,現在我們接著昨天遺留的問題
a= input("weight:")
b= input("height:")
weight=float(a)
height=float(b)
bmi= weight/height**2
if bmi<18.5:
print("過輕")
elif 18.5<=bmi>=25:
print("正常")
elif 25<bmi>28:
print("過重")
elif 28<=bmi>=32:
print("肥胖")
else :
print("嚴重肥胖")
問題是在執行程式碼的過程中,無論怎麼輸入數值,得到的結果都只有過輕和正常兩種結果。
在論壇發帖後,有位熱心的碼友回覆了我,原因竟然是。。。。。。
我的比較符號寫錯了,竟然兩邊都是≥號,估計我小學數學老師看見得揍死我。
接下來,開始學習迴圈語句
python的迴圈有兩種for...in...
和while
兩者的區別在哪裡呢 ?
for...in...
例如,我想將我全班同學的名字依次列印出來,可是幾十個
print()
恐怕要寫到地老天荒,這時候for...in...
就派上用場了!
這裡以我最親密的三位同學舉例
names = ["小紅","小明","李華"]
for name in names:
print(name)
執行這段程式碼,會依次列印names的每一個元素:
小紅
小明
李華
所以for x in ...
迴圈就是把每個元素代入變數x
,然後執行縮排塊的語句。
while
迴圈例如,我想計算10以內的偶數之和,可以用一個sum變數做累加
sum=0
n=10
while n>0:
sum=sum+n
n=n-2
print(sum)
結果正確
30
如果我們想提前結束程式,比如當sum
>10的時候就結束,break
語句可以辦到這件事情
sum=0
n=10
while n>0:
sum=sum+n
if sum>10:
break
n=n-2
print(sum)
OK,執行結果正確
18
可見break
的作用是提前結束迴圈。
如果我們要列印從1~10的數位,但只列印奇數,該怎麼做呢? 讓我們用
continue
試試
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶數,執行continue語句
continue # continue語句會直接繼續進行下一輪迴圈,後面的print()語句不會執行
print(n)
結果沒有問題
1
3
5
7
9
可見continue
的作用是提前結束這一輪迴圈,並直接進行下一輪。
注意和break的區分哦!
今天的學習就到這裡吧!大家都早點休息!