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!')
添加回答
举报