0

私は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)

私が得る出力は次のとおりです。

xxxx@xxxx-Satellite-L600:~/Desktop$ python 5exp3.py
type s string
hello
add the number of recursions
4
xxxx@xxxx-Satellite-L600:~/Desktop$

何が問題で、どうすればプログラムに出力を表示させることができますか?

4

2 に答える 2

5

投稿されたコードは関数を定義しますprint_nが、決して呼び出しません。関数定義の後にprint_n(s, n).

nこれを行うと、が現在文字列であるために発生するエラーがいくつか見つかります(文字列raw_inputを返します)。int(a_string)文字列を整数に変換するために使用します。このように関数を呼び出すと、問題が解決します

print_n(s, int(n))

またはする

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)
于 2012-10-31T20:23:22.887 に答える
2

試してみてくださいn = raw_input()- >n = int(raw_input())

于 2012-10-31T20:17:11.320 に答える