递归函数python,无法打印输出
我刚刚开始用python编程,我遇到了一个关于递归的问题 该程序似乎正在编译,但未显示打印输出 节目如下:递归函数python,无法打印输出,python,printing,recursion,Python,Printing,Recursion,我刚刚开始用python编程,我遇到了一个关于递归的问题 该程序似乎正在编译,但未显示打印输出 节目如下: print 'type s word' s = raw_input() print 'enter a number' n = raw_input() def print_n(s, n): if n<=0: return print s print_n(s, n-1) 有什么问题,如何让程序显示输出?尝试n=raw\u input()->n=int(raw\u inp
print 'type s word'
s = raw_input()
print 'enter a number'
n = raw_input()
def print_n(s, n):
if n<=0:
return
print s
print_n(s, n-1)
有什么问题,如何让程序显示输出?尝试
n=raw\u input()
->n=int(raw\u input())
您发布的代码定义了函数print\u n
,但从不调用它。函数定义后放置一个打印\u n(s,n)
执行此操作后,您将发现由于n
当前是字符串(raw\u input
返回字符串)而导致的一些错误。使用int(字符串)
将字符串转换为整数。这样调用函数可以解决这个问题
print_n(s, int(n))
或者
完整代码:
s = raw_input('type a word: ')
n = int(raw_input('enter a number: '))
def print_n(s, n):
if n <= 0:
return
print s
print_n(s, n-1)
print_n(s, n)
s=raw_输入('键入一个单词:')
n=int(原始输入('输入一个数字:'))
def打印编号(s,n):
如果n,我建议为缩进级别使用多个空格。您显示的代码实际上并没有调用递归函数。。。如果出现异常,则会出现异常,因为raw\u input
返回字符串,必须使用int
将其转换为整数。递归调用函数时,也应使用return print\n(s,n-1)
,尽管在这种情况下可能不会导致任何问题,但请记住这一点,以备将来使用。@AshwiniChaudhary:这里似乎没有必要。@StevenRumbalski是的,我提到过,我只是想告诉OP,当他从函数返回值时,它可能很有用,而不仅仅是打印,因为在这种情况下,函数将返回None
。正确的是n
需要是一个整数,但最初的问题是他从不调用print\n
。否则,他将在第一次递归时收到TypeError
。(它不会提前退出,因为“string”
n = int(raw_input())
s = raw_input('type a word: ')
n = int(raw_input('enter a number: '))
def print_n(s, n):
if n <= 0:
return
print s
print_n(s, n-1)
print_n(s, n)