Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将用户输入转换为列表_Python_Python 3.x - Fatal编程技术网

Python 如何将用户输入转换为列表

Python 如何将用户输入转换为列表,python,python-3.x,Python,Python 3.x,我想编写一个python程序,要求用户输入7个数字。此输入应转换为列表,并首先显示单个数字,然后显示整个列表。所以我的想法是从for循环开始 for a in range(1,8): number = int(input("please enter a number")) b = [a] print(b) 所以它应该是这样的: 请输入号码:4 4. 请输入号码:14 14 请输入号码:25 25 (再重复4次) 最后: 您的列表是:[4,14,25,…] 示例输出如

我想编写一个python程序,要求用户输入7个数字。此输入应转换为列表,并首先显示单个数字,然后显示整个列表。所以我的想法是从for循环开始

for a in range(1,8):
    number = int(input("please enter a number"))
    b = [a]
    print(b)
所以它应该是这样的:

请输入号码:4
4.
请输入号码:14
14
请输入号码:25
25
(再重复4次)

最后:

您的列表是:[4,14,25,…]
示例输出如下所示:

please enter a number: 1
please enter a number: 2
please enter a number: 3
please enter a number: 4
please enter a number: 5
please enter a number: 6
please enter a number: 7
[1, 2, 3, 4, 5, 6, 7]

假设您不需要每次都显示列表(请参阅我的评论):


所以,听起来您对Python相当陌生,或者不熟悉内置数据结构。不过,如果您不熟悉计算机编程,而不仅仅是Python的数据结构,那么一定要推荐一些有价值的学习方法

对于问题的最完整答案,包括字符串格式和转义序列,此方法将获得准确的输出

def collect_user_input():
    list_of_numbers = []
    for x in range(7):
        number = int(input("Enter a Number: "))
        list_of_numbers.append(number)
        print("\nYour number was: %d\n" % number)
    print("Your list is: \n", list_of_numbers)

collect_user_input()

您还可以一次性获得所有号码:

nums = input("Please input space seperated numbers - as much as you need: ")
splitted = list(map(int, (x for x in nums.split() if x.isdigit()) ) )

print(splitted)
输入输出
“5 4 55 6 asdf 923 7.23”

这会删除自动输入的任何非整数输入,并将其余输入转换为整数

您可以通过以下方式限制解析的数字f.e.:

splitted = splitted[:7]  # 7 numbers at most - might be less - you need to check with if
Doku:


列表的解释(映射(int,(x表示nums.split()中的x,如果x.isdigit()))

  • 创建一个列表
    • 从应用
      int()
      • 输入的
        split()
        的每个元素
        • 仅当使用
          isdigit()测试时,分割的部分
          x
          True

第三行:不应该改为“b=[number]”吗?为什么要将每个数字转换为一个列表?您是否尝试过阅读?谢谢,这真的很有帮助!
def collect_user_input():
    list_of_numbers = []
    for x in range(7):
        number = int(input("Enter a Number: "))
        list_of_numbers.append(number)
        print("\nYour number was: %d\n" % number)
    print("Your list is: \n", list_of_numbers)

collect_user_input()
l1=[]  
for i in range(1,11):  
  inp=int(input("enter a number"))  
  l1.append(inp)  
print(l1)  
nums = input("Please input space seperated numbers - as much as you need: ")
splitted = list(map(int, (x for x in nums.split() if x.isdigit()) ) )

print(splitted)
Please input space seperated numbers - as much as you need: 5 4 55 6 asdf 923 7.23
[5, 4, 55, 6, 923]
splitted = splitted[:7]  # 7 numbers at most - might be less - you need to check with if