如何反转Python代码输出,实现偶数从输入值倒序打印?
修改Python代码实现偶数降序输出
原代码是从0到输入值升序打印偶数,要改成从输入值到0降序输出,有两种简单的修改方式:
方法一:调整遍历顺序后判断偶数
直接修改range的参数,让循环从输入值开始往0遍历,保留原有的偶数判断逻辑:
end = int(input()) for num in range(end, -1, -1): if num % 2 == 0: print(num)
修改说明:
- 把
range(start, end + 1)改成range(end, -1, -1):range的三个参数分别是起始值、结束值(不包含)、步长,这里从end开始,步长为-1,到-1结束(这样能包含0),实现从输入值到0的倒序遍历。 - 去掉了多余的
start变量,因为已经不需要从0开始遍历了。 - 简化了
print的end参数,直接用默认的换行即可。
方法二:直接生成降序的偶数序列(更高效)
如果不想每次循环都判断奇偶,可以直接用range生成降序的偶数序列,省去判断步骤:
end = int(input()) # 确定起始的偶数:如果输入值是偶数就用它,否则用前一个偶数 start_even = end if end % 2 == 0 else end - 1 # 从起始偶数开始,步长-2到0(包含0) for num in range(start_even, -1, -2): print(num)
修改说明:
- 先计算
start_even,确保从最大的符合条件的偶数开始。 range(start_even, -1, -2)会直接生成从start_even到0的所有偶数,步长为-2,每次减2,不用再判断奇偶,执行效率更高。
内容的提问来源于stack exchange,提问作者Bryce Kingston Sy
相关产品推荐
相关产品推荐

