Python 代码上的类型错误

Python 代码上的类型错误,python,typeerror,Python,Typeerror,以下是我的代码和我的代码的说明,我收到类型错误: 两个整数的最大公约数GCD是将两个整数等分的最大整数。编写一个带有注释的程序,要求用户输入两个正整数并计算相应的GCD。您可以假设用户将输入有效的数字。显示适当的信息,显示2个整数及其GCD 计算GCD的步骤如下所示 将a=设置为较大的整数,如果它们不同,则将b=设置为较小的整数 而b≠0执行以下步骤: rem=a除以b后获得的余数 将a=设置为b的当前值 设置b=步骤2a中计算的rem gcd=a的值,即退出while循环后b的先前值。 下面给

以下是我的代码和我的代码的说明,我收到类型错误:

两个整数的最大公约数GCD是将两个整数等分的最大整数。编写一个带有注释的程序,要求用户输入两个正整数并计算相应的GCD。您可以假设用户将输入有效的数字。显示适当的信息,显示2个整数及其GCD

计算GCD的步骤如下所示

将a=设置为较大的整数,如果它们不同,则将b=设置为较小的整数 而b≠0执行以下步骤: rem=a除以b后获得的余数 将a=设置为b的当前值 设置b=步骤2a中计算的rem gcd=a的值,即退出while循环后b的先前值。 下面给出了显示用户输入和相应输出的示例会话


您将得到一个TypeError,因为input函数将所有输入都视为字符串。在尝试对输入执行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)

分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:试着写一些独立的问题。在这里,您不需要提示输入数据,只需使用已知的数字运行测试并测试所需的响应。事实上,在编写函数之前先测试函数,这是一个很好的原则,在这方面很有帮助;如果b在第一次迭代中较大,那么第一次递归调用无论如何都会反转这两个值。您应该告诉我们错误发生的位置。现在还不清楚你有什么问题。
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)