以下是我的代码和我的代码的说明,我收到类型错误:
两个整数的最大公约数(GCD)是将两个整数均分的最大整数。编写带注释的程序,要求用户输入两个正整数并计算相应的GCD。您可以假设用户将输入有效数字。显示一条显示2个整数及其GCD的合适信息。
计算GCD的步骤如下:
下面给出了显示用户输入和相应输出的示例会话。
def gcd(a, b):
if b > a:
return gcd(b, a)
if a % b == 0:
return b
return gcd(b, a % b)
a=input('Enter first positive Integer :');
b=input('Enter second positive Integer :');
s = 'The gcd of ' + repr(a) + ' and ' + repr(b) + ' is ' +repr(gcd(a, b))
print(s)
答案 0 :(得分:1)
您正在获取TypeError,因为输入函数将所有输入视为字符串。在尝试对其执行gcd函数之前,需要将输入转换为整数。 e.g:
def gcd(a, b):
a = int(a)
b = int(b)
if b > a:
return gcd(b, a)
if a % b == 0:
return b
return gcd(b, a % b)