2011-10-28 8 views
0

言葉を繰り返すように関数を定義:これまでのところ、私が持っている、私は、入力された単語回の入力回数繰り返される関数を定義することで、チュートリアルからタスクを実行しようとしている

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

def repeat_this(s, n): 
    print s * n 

しかし、sとnはrepeat_thisでローカルに定義されていませんが、関数内でsとnを定義したときにユーザー入力を取得できませんでした。

N.B.これを含むファイルを実行すると、sとnの入力を受け付けますが、空白の行を残して、repeat-thisが定義されていない新しい空行を開始します。

+0

/method - repeat_this(s、n)と値を渡す? 出力を印刷するには関数を呼び出す必要があります。 – srock

答えて

2

あなたはこの関数を呼び出していません。スクリプトの最後にこれを追加します。

repeat_this(s, n) 

また、あなたの入力はraw_input()する必要があります両方の(危険なPythonはそれを解析することが可能ではなく、int()を使用して整数に番号を強制)、おそらく関数の定義の下に行く必要があります(いずれの方法でも動作しますが、すべてのスクリプトを関数とグローバル変数の定義の下にまとめる方が良い方法です)。一緒にすべてを置く:

def repeat_this(s, n): 
    print s * n 

s = raw_input("Enter a word:") 
n = int(raw_input("Enter a number:")) 
repeat_this(s, n) 
+0

@kindall良い点はよくできていて、誰かがフロートに入るのを今はやめて、助けてくれてありがとうと思います。 –

+0

@RayToal勝者はいません。私はあなたの最初を読んで正直に言って、あなたがその投稿を削除したときにコメントするつもりでした! –

+1

誰かがフロートを入力できるだけでなく、リスト、辞書、セット、__import __( "sys")。exit(1) '(それによってPythonインタプリタ全体を終了する)その多くはあなたがしたくないことをすることができます。 – kindall

0

を別に内蔵プリントから、あなたのrepeat_this()機能が効果的にそれ自身の機能として使用することができます乗算演算子です:

あなたが関数を呼び出している
from operator import mul 

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

print mul(s, n)