You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python代码使range的stop参数值也被检测奇偶性?

让range的stop参数值参与奇偶性检测的解决方案

我编写了如下Python代码,运行正常,但希望稍作修改,让数值范围中的最后一个数(即range的stop参数值)也被检测是否为偶数。请问能否修改代码,使stop_range值也参与奇偶性检测?

当前代码如下:

counter = list(range(2))
numbers = []

for n in counter:
    numbers.append(int(input("Enter the number: ")))
numbers.sort()

print("Range of numbers: ", numbers)

even_num = []

for n in range(numbers[0], numbers[1]):
    if n == 0:
        pass
    elif n % 2 == 0:
        even_num.append(n)
    else:
        pass

print("Even numbers: ", even_num)

例如输入5和10时,偶数列表仅显示[6, 8],我希望10也能被纳入偶数列表。请问能否通过range函数实现该需求?


当然可以通过修改range的参数实现这个需求。Python的range(start, stop, step)是左闭右开区间,也就是包含start但不包含stop的值。要让stop值也被包含进来,只需要把range的第二个参数改成numbers[1] + 1即可。

修改后的完整代码

counter = list(range(2))
numbers = []

for n in counter:
    numbers.append(int(input("Enter the number: ")))
numbers.sort()

print("Range of numbers: ", numbers)

even_num = []

for n in range(numbers[0], numbers[1] + 1):
    if n % 2 == 0:
        even_num.append(n)

print("Even numbers: ", even_num)

简化写法(列表推导式)

你也可以用列表推导式简化代码,让逻辑更清晰:

counter = list(range(2))
numbers = []

for n in counter:
    numbers.append(int(input("Enter the number: ")))
numbers.sort()

print("Range of numbers: ", numbers)

even_num = [n for n in range(numbers[0], numbers[1] + 1) if n % 2 == 0]
print("Even numbers: ", even_num)

这样输入5和10时,range会生成5到10的所有整数(包括10),最终偶数列表会输出[6, 8, 10],完全符合你的需求。


内容的提问来源于stack exchange,提问作者jumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:17:13