简介:我正在尝试编写一个简单的程序来检查给定的代码是否有效。如果输入的所有三个字符都是 0 到 9 之间的数字,则代码有效。如果代码有效,您的程序将显示一条消息,谢谢。我们将处理您的订单!您的程序的输出应该是一条错误消息 The verification code was not valid。请再次检查您的信用卡代码。如果输入无效。
尝试:
lol = raw_input("what's your code?")
rofl=lol.split()
for int in rofl:
if 9>int(rofl)>0:
print "Thank you. We will process your order!"
else:
print 'The verification code was not valid. Please check your credit card code again.'
目的:
学习 - 我找到了另一种方法来做到这一点,包括检查整个事情是否低于 1000 和超过 0,并且它工作得很好。但我只是想了解更多信息。
请求:
您明确指导我如何修复我的代码并提供任何其他相关建议。
关闭:
提前谢谢你。
请您参考如下方法:
您要做的是检查给定的输入是否与给定的模式匹配(在您的情况下是三位数字),这基本上就是正则表达式的用途。
使用正则表达式,您的代码将如下所示:
import re
code = raw_input("what's your code? ")
if re.match(r'^\d{3}$', code):
print "Code OK"
else:
print "Wrong Code!"
在正则表达式中,^表示“字符串的开头”,\d表示“一个数字”(也可以是[0-9 ]),{3}表示“重复3次”,$表示“字符串结束”。
有关正则表达式的更多信息,请查看 re module documentation .
