隨著輸入
6
和代碼:
stop = int(input())
result = 0
for n in range(10):
result = n 2
if result > stop:
break
print(n)
print(result)
結果是:
0
1
9
我對 Python 和一般編碼仍然很陌生。我不知道在嘗試將我腦海中的代碼“翻譯”成更易于理解的東西時,我是否走上了正確的道路?這是我的閱讀方式:
我們從0開始,給變數n賦值,范圍內有10個n。我們取result變數,加上自己 n 2。它本身是0,n是0,所以result變成2。由于變數result小于輸入的6,所以我們列印n,也就是0。所以我得到的那部分。
下一個輸出是 1。我明白了,因為它是范圍內的下一個 n。然后結果增加到 n n 2,也就是 2 2 2。所以我們現在是 6。輸出為 0, 1,我明白了。我覺得下一個應該是 2?但它是 9。為什么?這個9是哪里來的?
uj5u.com熱心網友回復:
該9從未來print(result)。由于 9 > 6,您跳出了回圈,因此您不再進行任何print(n)呼叫。
uj5u.com熱心網友回復:
您的列印(結果)在您的回圈之外,因此您在前兩個回圈(0, 1)上列印(n)然后它中斷并列印結果(2 3 4 = 9)。
uj5u.com熱心網友回復:
每一步回圈結果增加n 2,每一步n增加1
Step 0
result = 0
Step 1
n = 0
result = 0 (0 2) = 2
-> 0 is printed
Step 2
n = 1
result = 2 (1 2) = 5
-> 1 is printed
Step 3
n = 2
result = 5 (2 2) = 9
result is greater than 6: loops break
-> 9 is printed
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367543.html
上一篇:在物件中查找值,即在陣列中
