gpt4 book ai didi

Python - 为分数执行字符串代码

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:50 24 4
gpt4 key购买 nike

我一直在使用 from fractions import * 按照以下逻辑使用某种类型的分数计算器:

a = Fraction(1,4)
b = Fraction(2,5)
c = Fraction(3,4)

print(a+b*c)

输出

11/20

但我需要从字符串中执行语句,就像 1/4 + 1/2 并且出于某种原因总是返回我 01 :

from fractions import *

class main():
for i in range(0, 10):
print "\t\nWRITE YOUR OPERATION"
code = 'print('
s = raw_input()
elements = s.split()

for element in elements:
print(element)

if '/' in element:
fraction = element.split('/')
numerator = fraction[0]
denominator = fraction[1]
a = Fraction(int(numerator),int(denominator))
code = code + str(a)
else:
code = code + str(element)

code = code + ')'

exec code

这是我想念的东西吗?

编辑 1

我知道这里出了什么问题

字符串代码是这样的:

code = 'print(1/4+2/5*3/4)'

但我真正需要的是这个(我认为这是不可能的):

code = 'print(Fraction(1,4)+Fraction(2,5)*Fraction(3,4))'

或者有办法做这样的事情......?

最佳答案

我试过了,这是有效的(我的输入是 a/b + c/d 的形式):

from fractions import*

print ("your operation:")

op = input()
#print (op)

elements = op.split()

for el in elements:
if ('/' in el):
fraction = el.split('/')
numerator = fraction[0]
denominator = fraction[1]

a = Fraction(int(numerator),int(denominator))

print (numerator)
print (denominator)
print (a)

关于Python - 为分数执行字符串代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com