在Python中,如果我将字符串拆分,我如何检查它的每个部分是否为整数

时间:2014-07-14 11:49:37

标签: python

例如,如果我的输入是" 1 2 3",如何检查每个部分是否为整数而不是其他任何内容,如果还有其他内容,则能够再次输入字符串,以便否则就不会继续前进

4 个答案:

答案 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