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

时间:2016-05-12 19:13:58

标签: python python-3.x

我是这个网站的新手,这是我的第一个问题:  我想编写一个python程序,要求用户输入7次。此输入应转换为列表并首先显示各个数字,然后将列表作为整体显示。所以我的想法是从一个for循环开始。

     for a in range(1,8):
         number = int(input("please enter a number"))
         b = [a]
         print(b)

如果问题有点不清楚,我很抱歉。我希望用户输入一个数字,将其转换为一个列表,此过程应重复7次。最后,程序应该能够将一个数字的所有单个列表合并到一个包含所有数字的列表中。 所以看起来应该是这样的: 请输入数字:输入:4 “你的号码是4” 请输入数字:输入:14 “你的号码是:14”。 请输入数字:输入:25 “你的号码是25” (...重复7次) 最后:你的清单是:[4,14,25,...]

6 个答案:

答案 0 :(得分:1)

result = []

for a in range(1,8):
    number = int(input("please enter a number: "))
    result.append(number)

print result

示例输出如下:

python stackoverflow_1.py 
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]

答案 1 :(得分:0)

Numbers = []

for a in range (1,8):
    number = int(input("Please enter a number:"))
    Numbers.append(number)
    print(number)

答案 2 :(得分:0)

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

b = []
for a in range(7):
    number = int(input("please enter a number: "))
    b.append(number)
    print(number)
print (b)

答案 3 :(得分:0)

因此,听起来您对Python很新,或者对内置数据结构不熟悉。但是,如果您不熟悉计算机编程,而不仅仅是Python的数据结构,那么推荐使用the documentation始终是必须的。other resources对于https://drive.google.com/file/d/0Bzv1SNKM1p4uYW9yQWJNT21NNVU/view?usp=sharing有价值。学习,也是。

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

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()

答案 4 :(得分:0)

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

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"的输出:

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

Doku:


list(map(int, (x for x in nums.split() if x.isdigit()) ) )的解释:

  • 创建一个列表
    • 通过应用int()
      • 输入的split()的每个元素
        • 只有在使用x测试过的情况下,True的分割部分是isdigit()

答案 5 :(得分:-1)

l1=[]  
for i in range(1,11):  
  inp=int(input("enter a number"))  
  l1.append(inp)  
print(l1)