检查变量是否包含空格和字母

时间:2015-06-10 16:17:02

标签: python-3.x

我正在尝试创建一个要求输入名称的程序,但如果它不包含字母/空格则拒绝输入。但是,它似乎拒绝空格以及数字和符号。

print("Welcome to the Basic Arthmetics Quiz.")
print("What is your name?")
name=input()
if not name.isalpha()or name not in(str(" ")):
    print('Please only enter letters for your name!')
    while not name.isalpha()or name in(str(" ")):
        v=1
        print('Please enter your name again.')
        name=input()
        if name.isalpha()or name not in(str(" ")):
            v=0
        else:
            v=1

我哪里出错?

1 个答案:

答案 0 :(得分:0)

这看起来很像家庭作业。

您的测试RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(response.encodeURL("/WEB-INF/view.jsp")); dispatcher.forward(request, response);,应该写为name not in(str(" ")),测试名称是name not in " "之一。

最简单的方法是一次测试一个char,并使用per-char条件,如

{"", " "}

将此与char.isalpha() or char == ' ' 和生成器表达式结合使用,以测试all的所有字符。

实际的实现,以及正确的代码流程(您不使用name,执行测试三次,并且调用v两次,所有这些都是不可接受的)留下作为锻炼。