3 回答

TA貢獻1829條經驗 獲得超7個贊
正如答案已經提到的,range(1, 11)將按1 2 3 4 5 6 7 8 9 10要求生產。但是,您可以通過執行以下操作排除特定數字:
all_numbers = range(0, 11)
exclude_set = {0} # a set containing the value 0
numbers = (num for num in all_numbers if num not in exclude_set)
如果您有一組您知道是錯誤的數字,這可能會很有用,但否則會有一個連續的范圍。
"""Represent retail stores in a chain"""
store_numbers = range(1, 51)
# stores 14, 17, and 32 have been closed, so
closed_stores = {14, 17, 32}
valid_stores = (store for store in store_numbers if store not in closed_stores)

TA貢獻1836條經驗 獲得超3個贊
如果要排除 0,則將范圍更改為 (1,11)。范圍的工作方式是包含下限,而上限不包含在內。
閱讀更多關于范圍的文檔:https ://docs.python.org/3/library/functions.html#func-range
在不相關的注釋中,如果您的下限為 0,則無需包含下限并將其寫為 range(11),與 range(0,11) 相同。

TA貢獻1801條經驗 獲得超16個贊
范圍包括第一個參數,但不包括第二個參數。范圍內的第一個數字應該是您要開始的數字。
將您的代碼更改為
for num in range(1, 11):
if num % 2 == 0:
print(num, ' is an even number!')
else:
print(num, ' is an odd number!')
添加回答
舉報