簡體   English   中英

輸出與預期不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM