为了账号安全,请及时绑定邮箱和手机立即绑定

如何从python中的范围中排除一个数字?

如何从python中的范围中排除一个数字?

潇潇雨雨 2022-05-24 13:18:09
我是编码新手,我编写了一个程序,使用 for 循环和一个范围来检查该范围内的数字是奇数还是偶数。但是我想排除数字 0    for num in range (0, 11):      if num %2 == 0:         print (num,' is an even number!')      else:         print (num,' is an odd number!')我期望所有数字的输出,但不是 0。有人可以帮助我吗?
查看完整描述

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)


查看完整回答
反对 回复 2022-05-24
?
米脂

TA贡献1836条经验 获得超3个赞

如果要排除 0,则将范围更改为 (1,11)。范围的工作方式是包含下限,而上限不包含在内。

阅读更多关于范围的文档:https ://docs.python.org/3/library/functions.html#func-range

在不相关的注释中,如果您的下限为 0,则无需包含下限并将其写为 range(11),与 range(0,11) 相同。


查看完整回答
反对 回复 2022-05-24
?
侃侃尔雅

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!')


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 531 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信