Python 如何将用户输入转换为列表
我想编写一个python程序,要求用户输入7个数字。此输入应转换为列表,并首先显示单个数字,然后显示整个列表。所以我的想法是从for循环开始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,…] 示例输出如
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
- 仅当使用
- 输入的
- 从应用
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