如何反转Python循环的输出结果?以输入5为例的代码调整问题
问题:反转平方数输出结果
以整数5作为示例输入,当前使用的代码如下:
n = int(input()) for i in range(0, n): n = n - 1 print(n**2)
运行该代码后得到的输出为:
16 9 4 1 0
但希望将结果反转,得到如下输出:
0 1 4 9 16
解决方案
方法1:直接正向遍历计算
最简单的方式是直接遍历从0到输入值减1的整数,依次计算每个数的平方并打印:
n = int(input()) for i in range(n): print(i ** 2)
当输入5时,range(n)会生成0,1,2,3,4,每个数平方后正好是期望的输出顺序。
方法2:先收集结果再反转输出
如果需要保留类似原代码的循环逻辑,可以先把所有结果存入列表,最后反转列表并逐个打印:
n = int(input()) results = [] for i in range(n): n = n - 1 results.append(n ** 2) # 反转列表后打印 for num in reversed(results): print(num)
方法3:调整循环遍历逻辑
原代码的问题在于每次递减n并打印,导致输出从大到小。直接调整循环的遍历对象,打印正向递增的平方值即可:
n = int(input()) for i in range(0, n): print(i ** 2)
内容的提问来源于stack exchange,提问作者Joshua Partido
相关产品推荐
相关产品推荐

