2 回答

TA貢獻1859條經驗 獲得超6個贊
你的問題在這一行
m = m * i
您正在緩存一個中間值,然后在下一次迭代中將其相乘,因此第一次乘以您的m但下一次迭代時,您將乘以前一個中間值而不是原始值,m
您可以將循環更改為:
while i <= n:
print(m * i) # you don't need to save the intermediate result, you can just print it
i = i + 1

TA貢獻1865條經驗 獲得超7個贊
Nullman 的 asnwer 是正確的,無論如何這里是您的代碼更正,以防萬一它可以幫助您更好地理解錯誤:
m = 9
n = 5
i = 1
print()
print("The first ",n,"positive integers multiples of ", m," are:")
while i <= n:
multiple = m * i
print(multiple)
i = i + 1
你不能使用if,但你確實可以使用for:
m = 9
n = 5
i = 1
print()
print("The first ",n,"positive integers multiples of ", m," are:")
for i in range(1, n + 1):
multiple = m * i
print(multiple)
i = i + 1
添加回答
舉報