我正在尋求幫助。我們需要撰寫一個程式來列印 (n -20,n 20) 范圍內的所有數字。此外,該程式會要求您事先輸入一個數字。如果該數字不是 10 的偶數或倍數,則需要再次猜測。只有當數字是偶數并且是 10 的倍數時,程式才會列印上述范圍。我為此掙扎。
我想出了這個解決方案:
i = int(input("please enter a number: "))
while (i % 10 == 0) and ((i % 2) == 0):
x = 20
while (x >= 0):
print(i - x)
x = x - 1
break
但它只會列印范圍 n-20 而不是 20,如果您輸入了錯誤的數字,它也不會再次詢問您。
我知道也有可能在 range() 中使用 for I,但我現在不知所措。
謝謝!
uj5u.com熱心網友回復:
你可以簡單地做:
while True:
i = int(input("please enter a number: "))
if i % 10 == 0:
for x in range(i-20,i 21):
print(x)
break
它將繼續詢問,直到滿足條件。
uj5u.com熱心網友回復:
更好地利用range,例如:
x = 20
for number in range(i - x, i x 1):
print(number)
注意:range(1, 5)創建一個生成數字 1 到 4(不包括 5)的生成器。因此i 20 1.
uj5u.com熱心網友回復:
做起來很艱難:你想從 開始i-20,所以:
n = i - 20
并轉到i 20,所以:
while n < i 20:
print(n)
n = 1
一切都是如此。
或者,簡單的方法,也就是使用范圍的一個班輪
print(range(i-20, i 20), sep="\n")
從...開始
i = 1
while not (i % 10 == 0):
i = int(input("please enter a number: "))
繼續詢問,直到輸入有效輸入并解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480956.html
