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

如何在python 3.5中将1/2转换为2,python,python-3.5,Python,Python 3.5,我需要的是让用户输入1/2之类的内容 例如:i=input(“输入一半;如果是十六分之一,则输入1/16”) 我需要的是从1/16中取出16,并将其用于计算 在数学中,我们可以很容易地使用1/(1/16),但在python中,当我尝试使用类似这样的分数进行asign和计算时,确实会出现数据类型错误 任何帮助都非常宝贵您可以计算x=1/16;然后计算y=1/x。希望它有帮助我不完全理解您的问题,但Python确实理解分数-请参阅 这样做的一个好处是通过捕获ValueError异常来检查无效输入 f

我需要的是让用户输入1/2之类的内容

例如:
i=input(“输入一半;如果是十六分之一,则输入1/16”)

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

在数学中,我们可以很容易地使用1/(1/16),但在python中,当我尝试使用类似这样的分数进行asign和计算时,确实会出现数据类型错误


任何帮助都非常宝贵

您可以计算x=1/16;然后计算y=1/x。希望它有帮助

我不完全理解您的问题,但Python确实理解分数-请参阅

这样做的一个好处是通过捕获
ValueError
异常来检查无效输入

from fractions import Fraction


f = None

while(f is None):
    n = input("Enter a fraction: ")

    try:
        f = Fraction(n)
    except ValueError:
        print(n, "isn't a valid fraction")

print(f)
print(float(f))
print(f.denominator)

# input 1/6 gives:
# 1/6
# 0.166666666667
# 6
k[1]将是分母


将其作为一个数字

您可以使用
分数
模块。但是如果我正确理解了你的问题,你的用户在这个分数表中输入
1/16
,你想从中去掉
16

x = input("Fraction: ") # Fraction: 1 / 16 or 1/16 or 1/ 16, whatever
n = int(x.split("/")[-1].strip()) # 16 (int)

如果现在是您想要的,那么请评论。

您得到了什么错误请显示引发错误的实际代码和实际错误。()我假设python不太喜欢用
str
除法?嗯<代码>“1/2”不能转换为
int
,尽管它可以转换为返回字符串的输入。字符串可以拆分,在这种情况下,分数的字符串表示可以在/符号处拆分为分子和分母。
int(k[1])
x = input("Fraction: ") # Fraction: 1 / 16 or 1/16 or 1/ 16, whatever
n = int(x.split("/")[-1].strip()) # 16 (int)