python-3.x - 如何分隔两个输入整数?
问题描述
我在编程方面不是很老,我想输入一个数字(n
)并根据它,我想输入 n 个整数,使用一个空格分隔,使用 while 循环(例如)我试过:
a = list(map(int, input().split()))
但我发现我可以输入的整数个数超过 n
非常希望能帮助我提前谢谢
解决方案
你可以通过两种主要的简单方法来做到这一点:
接受任意输入,将其拆分并在那里获取前 n 个值和/或如果您获得不同数量的条目,则抛出错误/消息
n = int(input("pick a number: ")) list_number = list(map(int, input(f"enter {n} numbers").split())) if len(list_number)==n: print("cool") #do your stuff else: print("not cool") #do something about it
一次取一个数字并重复此 n 次,因为您需要指定要执行的循环数,这很容易使用
range(n)
它产生一系列从 0 到 n-1 的数字:>>> list(range(5)) [0, 1, 2, 3, 4] >>>
但这里相关的是我们得到了 n 个元素,例如:
n = int(input("pick a number: ")) list_number=[] for i in range(n): list_number.append(int(input("enter a number: "))) #do your stuff
还要检查这个Asking the user for input 直到他们给出更详细的示例的有效响应
推荐阅读
- r - 具有不同行名的报表数据集
- zip - 从 zip 存档中提取 gzip 文件
- angular - 在呈现行之前设置 AG 过滤器
- javascript - Three.js css3d - 元素周期表添加球体对象
- c# - 捕捉活动窗口开关(也在同一应用程序中,例如 Chrome 选项卡)
- python - Pandas 从 Datetime 多索引级别按时间分组
- javascript - 在 HTML 中获取 console.log
- openstack - 无法在使用多合一的 kolla-ansible 部署的 OpenStack 上启用 ceph-osd
- c++ - 如何正确删除硬件断点
- python - Pandas 用于部分重复的行,保留行并用最小值或最大值替换数据