例如,如果我的输入是" 1 2 3",如何检查每个部分是否为整数而不是其他任何内容,如果还有其他内容,则能够再次输入字符串,以便否则就不会继续前进
答案 0 :(得分:3)
>>> s = "1 2 3"
>>> all([i.isdigit() for i in s.split()])
True
>>> l = "1 b 2 5 c"
>>> all([i.isdigit() for i in l.split()])
False
答案 1 :(得分:2)
以下从标准输入读取并继续读取,直到收到带有空格分隔整数的字符串。最后它打印出所有整数:
s = raw_input('Enter your input:')
while not all((p.isdigit() for p in s.split(" "))):
print("Not all integers")
s = raw_input('Enter your input:')
print("Got all integers!")
答案 2 :(得分:0)
您可以使用将字符串拆分为列表 list1的= s.split()
然后检查每个是否为整数。
答案 3 :(得分:0)
丑陋的代码,但它可以做你想要的:
import re
integers = re.compile('[^\d\s]')
while True:
s = input("Enter integers: ")
if not integers.match(s):
break