finallist = []
for each_time in range(10):
x = int(input("Whats your number ? "))
finallist.append(x)
它将"Whats your number ? "
和.append
获得的答案与input()
作为int
进行了10次排查,我想知道有任何简单的方法可以做到这一点,可能有地图?我也在阅读有关json
的类似问题。
finallist.append(int(input("Whats your number ? ")))
我知道我可以这样做,但出于解释的原因,我更愿意写第一篇。
答案 0 :(得分:5)
你可以使用列表理解来完成它:
finallist = [int(input("Whats your number ? ")) for _ in range(10)]
但我wouldn't recommend doing it,因为不太清楚发生了什么。
或者,正如Python的Zen所说:
>>> import this
...
Explicit is better than implicit.
当您的函数没有副作用时,列表推导(以及map
,filter
,reduce
等)最佳。并要求用户输入有副作用。
答案 1 :(得分:2)
你可以使用理解:
numbers = [int(input("Number please")) for i in range(10)]
答案 2 :(得分:2)
使用理解总是替代for
循环:
finallist = [int(input("Whats your number ? ")) for _ in range(10)]
答案 3 :(得分:1)
result = []
while not len(result) == 10:
result += [input('What is your number? ')]
答案 4 :(得分:0)
考虑允许用户在一次用空格分隔的时候输入所有这些内容,这些内容沿着以下几行:
while True:
s = input("Enter 10 numbers (separated by spaces)? ").split()
if len(s) != 10:
print("Sorry, that was {} values, try again".format(len(s)))
else:
finallist = [int(n) for n in s]
break