在Python中,我想读取整数,直到输入-1。
示例输入:
1, 2, 3, 4, 5, 6, 7, 10, -1 # (Commas indicate new entries)
期望效果:
nums = [1,2,3,4,5,6,7,10]
附加说明: 你能用列表理解简明扼要吗?
答案 0 :(得分:1)
我假设示例输入将是单个字符串并以逗号分隔。
nums = "1,2,3,4,5,6,7,10,6,7,8,20,25,30,40,55,60,-1"
nums = nums[:nums.index(",-1")].split(",")
nums = [int(x) for x in nums]
这将找到“-1”元素的索引并切断结果。然后列出理解以将所有字符串强制转换为整数,如果您将其存储为字符串,则此部分是可选的。
答案 1 :(得分:0)
您可以使用while loop
。
<强>实施例强>
inVal = input("Enter Num: ")
res = []
while int(inVal) != -1: #Break loop if user enters -1
res.append(inVal)
inVal = input("Enter Num: ")
print(res) #Print user entered numbers
答案 2 :(得分:0)
假设您有逗号分隔值,您可以在以下行中执行以下操作:
from itertools import takewhile
s = '1,2,3,4,5,6,7,10,6,7,8,20,25,30,40,55,60,-1'
g = takewhile(lambda x: x != '-1', s.split(',')) #generator
list(map(int,g)) # convert str to in
答案 3 :(得分:0)
试试这段代码。我在这里做的是,我创建了一个空列表并保持向其附加值,除非输入为-1。希望这会对你有所帮助
choice = int(input("Enter Numbers: "))
nums = []
while choice!= -1:
nums.append(choice)
choice = int(input("Enter Numbers: "))
print(nums)