我希望程序读取输入。除非输入是“HELP”,否则它由几个由空格分隔的整数组成。我不知道提供的整数数量。
我想将整数放在一个集合中。
这是我目前使用的代码,但需要很长时间才能找到更快的方法。
nextInput = input()
while nextInput != "HELP":
testString = set()
testString1 = nextInput.split()
for j in range(0, len(testString1)):
k = int(testString1[j])
testString.add(k)
nextInput = input()
答案 0 :(得分:1)
请注意,set()接受一个iterable as参数,因此您可以用
替换整个bodytestString = set(nextInput.split())
编辑:如果您需要一组数字(原始问题中不清楚,特别是变量名称为“testString”;我将更改变量的名称为了我自己的理智,用
代替那一行numset = set(int(_) for _ in nexInput.split())
当然,在此之下,您应该添加该行以请求下一个输入。
当然,如果你想要完全pythonic,你只需要输入一次,你会这样做:
while True:
nextInput = input()
if nextInput == 'HELP':
break
numset = set(int(_) for _ in nexInput.split())
答案 1 :(得分:0)
试试这个:
# Create empty set
testString = set()
while True:
# Ask for input
nextInput = input()
# Break if user writes help
if nextInput.upper() == 'HELP':
break
# Try to update the set with ints else print Error!
try:
testString.update(map(int,nextInput.split()))
except ValueError:
print("Error with input!")