python代码该怎么简化_如何在python中简化变量的分数值

我有一个变量叫做

b

谁的价值是这样决定的:

b = float(input("What is your y-intercept?"))

. 在文件的后面,我想取

(假设它是一个浮点数)并将其转换为如下分数:

print(Fraction(b))

. 我知道有点像

print(Fraction(0.45))

将打印

8106479329266893/18014398509481984

但是

print(Fraction('0.45'))

将打印

9/20

. 我怎么能用一个变量得到同样的结果呢?做

print(Fraction('b'))

给我这个错误:

ValueError: Invalid literal for Fraction: 'b'

.

代码:

from fractions import Fraction

elif equation == 'slope':

slope = input("Do you need to find slope? Type 'yes' or 'no'.")

if slope == 'yes':

y2 = float(input("What's your y2 value?:"))

y1 = float(input("What is your y1 value?"))

x2 = float(input("What is your x2 value?:"))

x1 = float(input("What is your x1 value?:"))

m = y2-y1/x2-x1

print(str(m))

elif slope == 'no':

m = input("What is the slope?")

b = float(input("What is your y-intercept?"))

m = str(m)

b = str(b)

print("Your equation is: y = {}x + {}".format(m,b))

simplify = input("Do you want to simplify this to standard form? Type in 'yes' or 'no'")

if simplify == 'yes':

m = float(m)

b = float(b)

if m < 0:

pos_m = m*-1

if isinstance(b, float):

print(Fraction(b)) #Works, but not what I want

print(Fraction('b')) #Does not work

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值