首页 > 解决方案 > 如何使用单个命令将所有输入存储在列表中?

问题描述

我正在做一些来自 faceprep 的 ds 和算法问题,一个问题来了:

Amy Farrah Fowler 让她的学生给出 3 个正奇数的例子。当学生指定正确答案时,他/她的分数加 1。当学生指定正偶数时,他/她的分数减 0.5。当学生指定负数时,他/她将不再有改正错误的机会,他/她的分数将减1。因此,当学生正确指定时,轮到结束3 个正奇数或当学生指定负数时。有的同学不知道奇数和偶数的区别,犯了很多错,她很难保持分数。她请求你的帮助。你能帮她写一个程序来计算分数吗?

输入和输出格式:

输入由整数列表组成。输出由一行组成。分数需要修正到小数点后 1 位。[对于这个练习,不要担心重复的奇数。即使学生三次指定相同的奇数,也可以接受]。

输入如下:

1

2

3

4

5

现在如何通过单个命令获取输入并将其存储在变量中?到目前为止,我一直在做,但现在每个案例研究的输入数量都不同。:

a=int(input())
b=int(input())
c=int(input())

我想使用单个命令来执行此操作,以便每个输入都存储在一个列表中。

标签: listalgorithminputdata-structures

解决方案


如果你input被空格分隔,你可以使用:

arr = list(map(int, input().split()))
print(arr) # input 1 2 3 4 # output [1,2,3,4]

如果您的输入基于给定的范围使用:

for _ in range(int(input())):
    arr = list(map(int, input().split()))
    print(arr)

如果输入由新行分隔,您可以使用append方法或一行:

arr = [int(input()) for _ in range(int(input()))]
print(arr) 

# input 
3 
4
5
6  # output [4, 5, 6]

了解更多关于input这里https://www.geeksforgeeks.org/python-get-a-list-as-input-from-user/


推荐阅读