【问题标题】:i want to print number from 1 to n but after running this code, error "core dumped" occured我想打印从 1 到 n 的数字,但运行此代码后,出现错误“core dumped”
【发布时间】:2019-04-11 12:20:44
【问题描述】:

我想打印从 1 到 n 的数字,但运行此代码后,出现错误“core dumped”。 我知道如果我将 self 更改为 n 代码效果很好,但为什么不 self ???

n = int(input("?"))

def again_book(self):
    if n > 0:
        again_book(self - 1)
    print(self)

again_book(n)

【问题讨论】:

  • 因为n永远不会改变所以它总是大于0
  • 你应该说if self > 0:
  • (a) self 对你自己的论点来说不是一个好名字 (b) 不要递归地做迭代的事情。

标签: python python-3.x


【解决方案1】:

您的代码无法正常工作,因为您从未更改 n 变量。在您的函数中,您正在检查 n > 0 是否始终是

这是一个修复:

n = int(input("?"))

def again_book(self):
    if self > 0:
        again_book(self - 1)
    print(self)

again_book(n)

另一种方法是使用while 循环:

n = int(input("?"))
x = 0

while x < n:
    print(x)
    x += 1

【讨论】:

    【解决方案2】:

    我认为你可以使用列表理解
    [num for num in range(num_limit)]

    【讨论】:

      【解决方案3】:

      当您必须传递对象本身时使用Self。 further you can read from here

      【讨论】:

        猜你喜欢
        • 2014-04-30
        • 1970-01-01
        • 2020-10-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-05
        • 1970-01-01
        • 1970-01-01
        • 2021-12-13
        相关资源
        最近更新 更多