使用split()限制输入变量数,避免解包过多值的ValueError
限制input().split()获取的输入数量
忽略多余输入(最简便实现)
split()本身没有直接限制截取数量的参数,但结合Python切片语法就能轻松实现需求,代码简洁高效:
如果要将前n个值填充到列表A:
n = 3 A = list(map(int, input().split()))[:n]
如果要直接赋值给n个变量:
a, b, c = map(int, input().split())[:3]
不管用户输入多少值,上述代码都会只取前n个,不会触发ValueError异常。
严格限制输入数量(多余则报错)
如果需要确保用户恰好输入n个值,多了就抛出错误提示,可以先获取完整输入列表后判断长度:
n = 3 input_list = list(map(int, input().split())) if len(input_list) != n: raise ValueError(f"请输入{n}个整数") A = input_list
内容的提问来源于stack exchange,提问作者Charbel-FuzzyPaw
相关产品推荐
相关产品推荐

