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

Python:如何调整双列表for循环比较结果的打印顺序?

调整随机列表生成与比较结果的输出顺序

你的问题是生成列表时就直接打印了比较结果,导致输出顺序和期望不符。只需要把列表生成和比较打印的步骤分开,就能解决问题:

原代码问题点

原代码在循环生成列表元素的同时就打印了比较结果,导致列表还没输出就先展示了对比信息,顺序颠倒。

修改后的代码

import random

lst1 = []
lst2 = []
n = int(input('Step a: How many numbers in each list?  '))

# 第一步:仅生成两个随机整数列表
for i in range(n):
    number1 = random.randint(1, 15)
    number2 = random.randint(1, 15)
    lst1.append(number1)
    lst2.append(number2)

# 第二步:先输出两个完整列表
print(f'Step b: First List{lst1}')
print(f'Step c: Second List{lst2}')
print('Step d:')
print('Larger number in each comparison:')

# 第三步:遍历列表,逐个比较并打印结果
count = 0  # 可选:统计First List获胜次数
for num1, num2 in zip(lst1, lst2):
    if num1 > num2:
        count += 1
        print(f'{num1} : First List')
    else:
        print(f'{num2} : Second List')

# 可选:打印统计结果
# print(f'First List won {count} times')

修改说明

  • 拆分逻辑:把列表生成和比较打印分成两个独立阶段,先完成列表构建,再输出列表,最后做对比展示
  • 简化遍历:用zip(lst1, lst2)直接配对两个列表的对应元素,比通过索引取值更简洁易读
  • 修复统计:把count变量移到循环外初始化,避免每次循环重置,能正确统计获胜次数(不需要可直接删除相关代码)

修改后输出示例

Step a: How many numbers in each list?  5
Step b: First List[12, 14, 14, 15, 4]
Step c: Second List[5, 2, 8, 13, 5]
Step d:
Larger number in each comparison:
12 : First List
14 : First List
14 : First List
15 : First List
5 : Second List

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:27:31