Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
递归函数python,无法打印输出_Python_Printing_Recursion - Fatal编程技术网

递归函数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

我刚刚开始用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 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)