繁体   English   中英

我想打印从 1 到 n 的数字,但在运行此代码后,出现“核心转储”错误

[英]i want to print number from 1 to n but after running this code, error "core dumped" occured

我想打印从 1 到 n 的数字,但在运行此代码后,出现错误“核心转储”。 我知道如果我将 self 更改为 n 代码运行良好,但为什么不是 self ???

n = int(input("?"))

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

again_book(n)

您的代码不起作用,因为您从未更改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

我认为你可以使用列表理解
[num 范围内的 num(num_limit)]

当您必须传递对象本身时使用 Self。 你可以从这里进一步阅读

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM