Python代码优化需求:按指定长度接收用户输入数组
修正Python数组输入输出逻辑问题
你的代码目前有两个关键问题导致不符合需求:
- 内外层循环都使用了变量
i,这会覆盖外层循环的计数器,导致循环逻辑混乱 - 原代码是分
d次逐行输入单个元素,但需求是输入一行包含d个元素的数组
这里是修正后的代码:
n = int(input()) for _ in range(n): d = int(input()) # 读取一行输入,分割成d个整数并组成数组 arr = list(map(int, input().split())) # 可选校验:确保输入元素数量符合要求 if len(arr) != d: print(f"错误:请输入{d}个元素") continue print(arr)
代码细节说明:
- 外层循环用
_代替i,因为我们不需要用到这个循环计数器,彻底避免变量名冲突的问题 - 每次循环先读取数组长度
d,然后读取一行完整输入,用split()按空格分割成字符串列表,再转成整数数组 - 加入了可选的输入校验逻辑,能提醒用户输入的元素数量是否符合预期,让程序更健壮
- 直接输出整组数组,完全匹配你给出的示例效果
示例运行效果:
输入:
3
2
4 6
5
4 2 1 4 7
3
1 3 5
输出:
[4, 6]
[4, 2, 1, 4, 7]
[1, 3, 5]
内容的提问来源于stack exchange,提问作者Gunjan Patait
相关产品推荐
相关产品推荐

