gpt4 book ai didi

python - 我怎样才能要求 n 并在一行中输入 n 个数字

转载 作者:行者123 更新时间:2023-12-01 01:27:08 25 4
gpt4 key购买 nike

输入 n 个数字的通常方法是先询问 n,然后在不同行中输入 n 个数字。

n = int(input())
for i in range(n):
x = int(input())

如何要求 n 并仅在一行中输入 n 个数字。

类似这样的事情:

>> 4 1 2 3 4

最佳答案

How can I ask for n and type the n numbers in only one line.

如果从空格分隔的输入中可以明显看出您有多少个整数,则您不需要需要询问n

但是,如果输入字符串格式不可协商,则可以通过序列解包进行拆分:

n, *num_list = map(int, input().split())

例如,输入 '4 1 2 3 4' ,您将得到以下结果:

print(n, num_list)

4 [1, 2, 3, 4]

理解上面的逻辑:

  1. input().split()将通过空格输入的字符串拆分为列表。
  2. map(int, X)返回 int可迭代应用于 X 中的每个元素.
  3. n, *num_list = map(...)迭代map对象并分为第一个和其余部分。
<小时/>

更惯用的方法是计算 n你自己:

num_list = list(map(int, input().split()))
n = len(num_list)

例如,输入 '1 2 3 4' ,您将得到以下结果:

print(n, num_list)

4 [1, 2, 3, 4]
<小时/>

明确输入数字数量的唯一目的是提供检查。这可以通过 assert 实现。声明:

n, *num_list = map(int, input().split())

assert n == len(num_list), f'Check failed: {n} vs {len(num_list)} provided does not match'

关于python - 我怎样才能要求 n 并在一行中输入 n 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com