我在验证用户输入时遇到了一些麻烦。对于此任务,用户必须以 x/y(例如 3/5)的形式输入分数,并在用户键入输入后打印出来。这里的问题是我不知道如何检查用户输入是否在指定的表单中。
错误的输入应该是这样的:
Input a fraction then press enter: 2/3/4
That is not a valid fraction
Input a fraction then press enter: 66
That is not a valid fraction
我当前的代码是
def main():
while True:
try:
question = input("Input a fraction then press enter: ")
break
except:
print("Please enter a valid fraction in the form x/y")
print(question)
如您所见,我一直纠结于如何验证输入。谁能帮忙解决这个问题
提前致谢
最佳答案
这里是一个比较简单的验证。基本上检查只有一个'/'
字符,分子和分母都是数字。
def validate(s):
values = s.split('/')
return len(values) == 2 and all(i.isdigit() for i in values)
例如
>>> validate('65/2')
True
>>> validate('43')
False
>>> validate('4/3/2')
False
关于python - 如何检查输入是否为分数(Python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29895565/