python - 如何检查输入是否为分数(Python)?

标签 python

我在验证用户输入时遇到了一些麻烦。对于此任务,用户必须以 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/

相关文章:

python - 如何以编程方式确定(在 Python 中)何时有人通过 RDP 连接到我的 Windows 7 计算机?

python - 在 Python Tkinter 中,如何在主循环窗口打开后运行代码?

python - 向现有的csv文件添加新列

python - 用户 :pass proxies with selenium

python - for 循环无法正常运行?

python - 有没有办法获得 numpy 中的最大值矩阵?

python - 如何根据线性回归结果绘制S形曲线?

python - Gtk.Treeview 通过信号和代码取消选择行

python - Reduce 函数不处理空列表

Python C++ 扩展 - 内存泄漏或访问冲突