我是一名技术作家,学习python。我想编写一个验证名称字段输入的程序,作为一种惯例,将用户输入限制为字母。我在此处看到了用于验证数字(年龄)字段的类似代码,并将其用于字母表,如下所示:将用户输入限制为字母
import string
import re
r = re.compile(r'[a-zA-Z]+')
print "WELCOME FOR NAME VERIFICATION. TYPE ALPHABETS ONLY!"
print raw_input("Your Name:")
x = r
if x == r:
print x
elif x != r:
print "Come on,'", x,"' can't be your name"
print raw_input("Your Name:")
if 5<=len(x)<=10:
print "Hi,", x, "!"
elif len(x)>10:
print "Mmm,Your name is too long!"
elif len(x)<5:
print "Alas, your name is too short!"
raw_input("Press 'Enter' to exit!")
我打算这个代码块做两件事情。即,显示输入提示,直到用户只输入字母为'姓名'。然后,如果发生这种情况,请处理该输入的长度并将消息显示为已编码。但是,我遇到了两个问题,即使经过很多次尝试,我仍然无法解决。或者,即使正确的条目被异常代码拒绝,或者错误的条目也被接受并且它们的长度被处理。
请帮我调试我的代码。而且,是否可以在不使用reg exp的情况下进行?
请告诉我们,失败的情况。 – Marcin 2012-01-10 09:38:05
另外,你是指字母书写系统中的字符(例如罗马字体或梵文字体),还是指所有书写系统中写字的字符(例如中文字符)? – Marcin 2012-01-10 09:40:14
O'Reilly先生应该做什么?还是Leutheusser-Schnarrenberger夫人? – 2012-01-10 13:09:10