如何用Python从标准输入读取指定长度的空格分隔整数并存入列表
问题修正方案
现有代码的问题
- 仅读取了一行输入:需求明确要求先输入长度值,再输入数字序列,原代码只读取了一行,无法满足两步输入的要求
- 错误计算输入长度:
len(inputs)统计的是输入行的字符总长度(包含空格、换行符等),并非实际的数字个数,不符合需求逻辑
修正后的代码
import sys # 读取并转换指定长度值 target_length = int(sys.stdin.readline().strip()) # 读取数字行并处理为整数列表 number_strs = sys.stdin.readline().strip().split() num_list = [int(num) for num in number_strs] # 验证数字数量是否符合要求并输出结果 if len(num_list) > target_length: print("输入的数字个数超过指定长度") else: print(num_list)
关键修改说明
- 分两次读取输入:分别获取长度值和数字序列,匹配需求的输入流程
- 使用
split()处理分割:替代原代码的split(' '),自动处理连续空格、制表符等空白字符,避免因空字符串导致的int()转换报错 - 增加长度校验逻辑:实现需求中“输入数字不超过指定长度”的约束
内容的提问来源于stack exchange,提问作者tor daniel
相关产品推荐
相关产品推荐

