我需要的是我要求用户输入1/2
之类的东西 ex:i=input("Input the half; if one-sixteenth enter 1/16" )
我需要的是从1/16中取出16并将其用于计算。
在数学中我们可以很容易地使用1 /(1/16),但是在python中我在尝试asign时会出现数据类型错误并使用像这样的小数值进行计算,
任何帮助都非常值得赞赏
答案 0 :(得分:7)
我不完全理解您的问题,但Python确实理解分数 - 请参阅https://docs.python.org/3/library/fractions.html
这样做的一个好处是您可以通过捕获Iterator
例外来检查无效输入。
ValueError
答案 1 :(得分:1)
i=input("Input the half; if one-sixteenth enter 1/16" )
k = i.split("/")
k [1]将是分母
和
int(k[1])
将是一个数字
答案 2 :(得分:0)
你可以计算x = 1/16;然后计算y = 1 / x。希望它有所帮助
答案 3 :(得分:0)
您可以使用fractions
模块。但是,如果我正确理解您的问题,您的用户会在此分数表单中输入1/16
,并且您希望16
不在其中。
x = input("Fraction: ") # Fraction: 1 / 16 or 1/16 or 1/ 16, whatever
n = int(x.split("/")[-1].strip()) # 16 (int)
如果它现在是您想要的,请发表评论。