社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中简化变量的分数值

Sebastian Przybylski • 5 年前 • 1558 次点击  

我有一个变量叫做 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 
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43039
 
1558 次点击  
文章 [ 4 ]  |  最新文章 5 年前