您應該使用==
,而不是is
在這種情況下,因爲:
is
檢查,如果兩個物體的id
是相同的,並且==
檢查兩個對象的值是否相同。
好,range(40-101)
給人range(-61)
而這被視爲range(0, -61)
。讓我們看看:
>>> range(40-101)
range(0, -61)
>>> list(range(40-101))
[]
我想你的意思是range(40, 101)
對不對?
所以,你的代碼應該是這樣的:
number = int(input("Enter the number: "))
for n in range(40, 101):
if n % number == 0:
print(n)
演示:
Enter the number: 10
40
50
60
70
80
90
100
只是有一個想法,以提高你的代碼,你並不需要在這%
因爲range()
有一個step
的說法。從文檔:
class range(stop)
class range(start, stop[, step])
到的範圍內的構造的參數必須是整數(是內置的int或實現該__index__
特殊方法的對象)。
如果省略參數step
,則缺省爲1.如果省略start參數,則缺省值爲0.如果步長爲零,則引發ValueError
。
對於積極的步驟,範圍r的內容由公式r[i] = start + step*i
決定,其中i >= 0
和r[i] < stop
。
因此,作爲文件說,你還可以設置step
而不是使用%
檢查都可以通過number
可分爲手動使用if
的數字。例如:
number = int(input("Enter the number: "))
for n in range(40, 101, number):
print(n)
_「因爲他們使用」是「在任何地方......」_誰是「他們」?我建議你不要再聽他們,因爲你幾乎不應該使用'is'。 – Kevin
''我唯一經常遇到的問題就是當我檢查'如果是None'時,我能想到的就是我的頭頂部,而這只是因爲它在語義上更加正確。 「東西==沒有」仍然有效 - 它只是不太好。 – LexyStardust