如何在python3.5中将1/2转换为2

2024-04-26 00:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我需要的是从1/16中取16,然后用它来计算。你知道吗

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

任何帮助都是非常宝贵的


Tags: the用户inputif错误数学one分数
3条回答

我不完全理解你的问题,但是Python确实理解分数-参见https://docs.python.org/3/library/fractions.html

这样做的一个好处是,您可以通过捕获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
i=input("Input the half; if one-sixteenth enter 1/16" )
k = i.split("/")

k[1]将是分母

以及

int(k[1])

会是一个数字吗

你可以先计算x=1/16,然后再计算y=1/x,希望有帮助

相关问题 更多 >