蟒蛇。数字应检查多个数字

时间:2018-02-08 15:16:09

标签: python

我在python上编写小程序只是为了了解splitisdigit函数的工作原理

计划是:

s = input('type something:')
if s.isdigit():
    a = s.split()
    a = list(map(int, a))
    print('What you typed was number and it was converted to integer')
    print('Result is:', a)
else:
    a = s.split()
    print('What you typed was words it was not converted to integer')
    print('Result is:', a)

问题是什么......当我键入一个单一的数字程序工作正常。 isdigit检查号码。 (真的列表包含数字)。

当我输入4(只有一个数字 - 那很好)

但是当我键入3 6 4 2 6 3时,多个号码isdigit无法检查

为什么?

2 个答案:

答案 0 :(得分:1)

正如所有评论已经说过:空白不是数字,因此字符串" 3 6 4 2 6 3"将返回False。

>>> print("3 6 4 2 6 3".isdigit())
False

您可以使用replace()函数删除所有空格:

>>> print("3 6 4 2 6 3".replace(" ", "").isdigit())
True

答案 1 :(得分:-2)

这是因为sstring类型

的变量

如果您想检查字符串s中的每个符号是否为数字,您应该尝试[x.isdigit() for x in a]之类的内容。