首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一行数组/列表中获取输入

在一行数组/列表中获取输入
EN

Stack Overflow用户
提问于 2022-07-15 08:16:37
回答 3查看 80关注 0票数 1

如何在python3中获得这样的输入?

第一个输入是=2,在第一个输入的基础上,我想得到2个新输入

例如:

代码语言:javascript
复制
2 # how many inputs?
1 2 # 2 numbers inputs

代码语言:javascript
复制
3 # how many inputs?
3 5 8 # in one line getting 3 inputs

下面是另一个例子:

代码语言:javascript
复制
4
6 8 7 9

如何在第一个输入的基础上获得一行输入?

我试着用地图,但没有运气

代码语言:javascript
复制
n = int(input())
for i in range(n):
   x = map(int,input().split())

但输出是

代码语言:javascript
复制
if n is 2
1 2

再次请求输入,因为i = 0获取1 2i = 1再次请求输入。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-15 08:21:49

原因是,您正在运行一个循环n次,在每次迭代中,您将获得一整行输入。因此,在最后,x包含最新的输入行。相反,您可以读取分隔的输入空间,并将其直接存储到列表中。

代码语言:javascript
复制
n = int(input())
x = list(map(int,input().split()))

虽然,如果您期望第二行包含比n数字更多的内容,则可以通过以下方法获取第一个n个数字

代码语言:javascript
复制
n = int(input())
x = list(map(int,input().split()))[:n]
票数 0
EN

Stack Overflow用户

发布于 2022-07-15 08:18:22

如果输入是作为单独的行提供的:

代码语言:javascript
复制
n = int(input())
x = [int(input() for _ in range(n)]

如果输入在一行上:

代码语言:javascript
复制
n = int(input())
x = [int(number.strip()) for number in input().split()]
票数 0
EN

Stack Overflow用户

发布于 2022-07-15 08:54:48

你需要ANSI逃逸序列。\033[#A将光标沿#行移动。

下面是代码:

代码语言:javascript
复制
import os

n = int(input("How many inputs: "))

print()
prompt = ''
inputs = []
for _ in range(n):
    os.system(r'echo "\033[2A"')  # Go up 2 lines to account for \n during input
    inp = int(input(prompt))
    inputs.append(inp)
    prompt += f'{inp} '

print('inputs =', inputs)

输出:

代码语言:javascript
复制
How many inputs: 3
1 2 3
inputs = [1, 2, 3]

注意到:这只能在终端中工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72991013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档