擅长:python、mysql、java
<p>对于您可以使用的标准模块或附加模块,您有什么限制?如果不考虑您没有指定的约束,有更好的方法来完成您正在做的事情。您的问题似乎可以用“我的脚本返回的结果是非常大的一部分”来概括,而您的问题似乎是“我想知道是否有任何解决方法?”。有许多“变通办法”。但是,很难猜测什么是最好的解决方案,因为你没有告诉我们你可以使用什么工具来完成任务,也不能使用什么工具来完成任务</p>
<p>例如,如果您可以使用正则表达式和<code>fractions</code>模块,并且假设输入将始终采用非常严格的<code><int>/<int>+<int>/<int></code>格式,那么这里有一个优雅的解决方案:</p>
<pre><code>import re
import fractions
op = input('Enter operation: ')
m = re.match(r"(\d+)/(\d+)\+(\d+)/(\d+)", op)
if not m:
raise('Invalid operation')
gps = list(map(int, m.groups()))
f = fractions.Fraction(gps[0], gps[1]) + fractions.Fraction(gps[2], gps[3])
print(f)
print (float(f))
print(round(float(f), 6))
</code></pre>
<p>结果:</p>
<pre><code>43/21
2.0476190476190474
2.047619
</code></pre>
<p>这回答了你当前的问题。然而,我不知道这是否违反了你的任务条款</p>