【问题标题】:Recursion gcd python递归 gcd python
【发布时间】:2019-01-01 14:00:25
【问题描述】:
def gcd(a,b):
    if b==0:
       return a
    else:
       return gcd(b,a%b)

当我尝试使用任意 2 个数字打印 gcd 的输出时,我收到错误“TypeError:并非所有参数都在字符串格式化期间转换”。有什么想法吗?

【问题讨论】:

  • 在第一次调用gcd之前尝试打印ba的类型
  • 你是否接受用户输入来传递给这个函数?
  • 你根本不是用整数调用函数,而是用字符串。如果这是在您使用input() 函数获取数字的程序中,请将输入的调用包装在对int 的调用中。例如:value = int(input("type the first number: "))
  • 我认为@jsbueno 对您的错误是正确的;将来,您应该包含所有代码(或足以完全重现问题的代码),包括调用此函数的代码、此函数的参数来自何处以及打印结果的位置。
  • 是的,我用字符串调用它,非常感谢。

标签: python


【解决方案1】:

确保您使用整数调用函数。尝试强制转换为 int。

【讨论】:

    【解决方案2】:

    您需要使用整数调用函数。你正在做的是用字符串调用它。如果您使用的是input,请将字符串转换为int()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      相关资源
      最近更新 更多