擅长:python、mysql、java
<p>我对您是否真的需要处理复合元组的字符串表示怀疑,您正在寻找的解决方案是<code>raw_input</code>(而不是{<cd2>})和{<cd3>}(这正是<code>input</code>所做的)。在</p>
<p>现在,当两个元组分别被理解时,程序现在可以处理两位数以上的数字。在</p>
<pre><code>import ast
def mult(num):
sep_indx = num.find(')(')
assert sep_indx > -1
tuple1, tuple2 = num[:sep_indx+1], num[sep_indx+1:]
tuple1 = ast.literal_eval(tuple1)
tuple2 = ast.literal_eval(tuple2)
numn=int(tuple1[0])
denom=int(tuple1[1])
numn1=int(tuple2[0])
denom1=int(tuple2[1])
numnetor=numn*numn1
denominetor=denom * denom1
ans=str(numnetor)+'/'+ str(denominetor)
return ans
askUser=raw_input("Enter Fraction:")
print(mult(askUser))
#Enter Fraction:(1,20)(3,40)
#3/800
</code></pre>
<p>请注意,您的程序仍然存在被零除错误、多余空格和用户输入的任何非整数的问题。我把这些留给你。在</p>