如何在python 3.5中将1/2转换为2

时间:2016-04-17 04:43:57

标签: python python-3.5

我需要的是我要求用户输入1/2

之类的东西

ex:i=input("Input the half; if one-sixteenth enter 1/16" )

我需要的是从1/16中取出16并将其用于计算。

在数学中我们可以很容易地使用1 /(1/16),但是在python中我在尝试asign时会出现数据类型错误并使用像这样的小数值进行计算,

任何帮助都非常值得赞赏

4 个答案:

答案 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)

如果它现在是您想要的,请发表评论。