[英]Different output than expected
我剛剛開始編程,現在遇到了問題。 我想知道函數是否真正起作用。
a = [ 20.0, 8.0, 2.5 ]
b = 4
if b > len(a):
r = 2*b
r = b
我期望輸出為8,但實際輸出為4。為什么? 因為4> 3那應該執行if語句對嗎?
問題是, if b > len(a)
不是True
,那么您就沒有執行else
語句的條件。 因此,在您的代碼中,首先執行了if
語句, r
的值變為b
兩倍( r
變為8),但是隨后您退出了if
語句,並再次將b
分配給r
,這就是為什么r
再次變為4的原因。 我希望這個概念現在很清楚。
正確的方法是
a = [ 20.0, 8.0, 2.5 ]
b = 4
if b > len(a):
r = 2*b
else:
r = b
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.