【发布时间】:2013-04-20 22:44:17
【问题描述】:
我希望程序删除 () 和 - 可能会在有人输入他们的电话时输入。如果不产生循环,我还想确保它是 10 个数字字符长。
p = raw_input("Please enter your 10 digit Phone Number")
def only_numerics(p):
seq_type= type(p)
return seq_type().join(filter(seq_type.isdigit, p))
p = only_numerics(p)
valid_phone = False
while not valid_phone:
if p > "0000000000" and p < "9999999999" and len(p) == 10 :
print "You have entered " + p
valid_phone=True
else:
print "You have entered an invalid choice"
如果我输入少于 10 个数字,我会重复 else 打印命令。我希望它返回原始输入(“请输入您的 10 位电话号码”)。有没有办法做到这一点?
【问题讨论】:
-
是的,在整个代码块周围放置一个
while循环。如果!valid_phone,while循环应该重复 -
旁注:你可以使用比较链来代替
and,而不是"0000000000" < p "9999999999"。
标签: python loops validation