我必须获取函数的GCD并在划分输入后打印出最终输出。
print('Welcome to Fraction Simplifier')
print('Type "exit" to quit.')
def getInput():
x = (input('Enter Fraction (Int/Int):\n'))
if x!='exit':
x = (input('Enter Fraction (Int/Int):\n'))
new_list = x.split('/') #['10', '/', '2']
return new_list
def gcd(a, b):
if int(b) == 1 or int(b) == 0:
print('Simplified Fraction')
print(a)
else:
print('Simplified Fraction')
gcd(int(b),int(a % b)) #a =b b = b = a % b
print(int(a/b),'/',int(a%b))
if __name__== "__main__":
x = getInput()
a = int(x[0])
b = int(x[1])
gcd(a,b)
我的问题是,当我尝试打印出来时,它得到的是随机数,而我不知道它们从何而来。关于可能出了什么问题的任何想法?
一旦成功,就应该这样做:30/4将被解析为15/2(最终输出)
答案 0 :(得分:0)
您应删除print()
的{{1}}部分中的else
个调用。因为这是一个递归函数,所以您只需要一个打印调用。只要Wikipedia是正确的,递归仅应在b == 0时停止。