为什么方法“ isspace”在条件语句中接受非空格字符?

时间:2018-11-27 04:32:42

标签: python python-3.5

在下面的程序中,如果输入字符串包含不是数字,字母或空格的任何字符,我希望该程序退出。但是,在我的第二个条件elif语句中使用方法“ isspace”时,它接受非空格字符。例如,从技术上讲,如果我在输入字符串中插入以下任何字符,则该程序应以exit(-1)退出,但不会退出:“:”,“;”,“。”或“ *” 使用调试器,我看到它实际上输入了第二条条件elif语句,这不应该发生。我已经在python3终端中测试并验证了该语句

";".isspace()

的计算结果为“ False”,但是在我下面的代码中,显然不是。 为什么会这样?

#!/usr/bin/python3

lets = 0
nums = 0
inp = input("enter input")
for i in range(len(inp)):
    if inp[i].isdigit():
        nums += 1
    elif inp[i].isalpha():
        lets += 1
    elif inp[i].isspace:
        pass
    else:
        print("invalid entry, try again")
        exit(-1)
print("LETTERS {:10d}\nDIGITS {:10d}".format(lets, nums))

0 个答案:

没有答案