如何在python 3.5中将1/2转换为2
我需要的是让用户输入1/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
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)