2017-11-30 3 views
0

私はPythonの初心者です。ループモジュールを書くときに、私は 'loopme'にコマンドを入れる方法を見つけることができないという問題にぶつかりました無視され、スクリプトが実行されます)。私はあなたが私の問題を手伝ってくれることを願っています。事前に感謝:D!コマンドに変数を割り当てるにはどうすればいいですか?

def loop(loopme): 
     start = 'y' 
     while True: 
      start != 'y' 
      restart = input('restart? (y/n) ') 
      if restart == 'y': 
       start = 'y' 
      elif restart == 'n': 
       break 
      else: 
       print('invalid input') 
       continue 

      loopme #it works with print('hi') 

      if start == 'y': 
       start = 'n' 
+0

_put a command_?あなたは 'loopme'に値を割り当てることを意味しますか? –

+0

@VasilisG。私は彼がデリゲートに似たようないくつかのコードを意味すると思います – WhatsThePoint

答えて

1

あなたが最後if文の前loopmeを実行したいと仮定すると、あなたは、パラメータとしてloopに任意の関数を渡すと、それを呼び出すことができます。

デモ:あなたが明示的にだけ役に立つ何もしません、関数名を記載し、()を追加することにより、loopmeを呼び出す必要があります

>>> def loop(loopme): 
...  # some code 
...  loopme() 
...  # some more code 
... 
>>> def loopme(): print('hi there, i am loopme!') 
... 
>>> loop(loopme) 
hi there, i am loopme! 

注意。

(またloop呼び出す必要はありませんのでご注意の引数loopme、あなたはそれをsome_functionを命名して、loopsome_function()を呼び出すことができたの体。)

ようにする方法があります'def loopme()'それは何を言わなければならないのか尋ねる?

もちろんです!

>>> def asker(): 
...  print(input('What do you want to say? ')) 
... 

>>> loop(asker) 
What do you want to say? Hello World! 
Hello World! 
+0

これは、 'def loopme()'が何を言っているのか尋ねる方法ですか? –

+0

def loopme():print(raw_input( "好きなことを言ってください")) – Ajay2588

+0

@FeedWizardはい、 'loopme'はどんな関数でもかまいません。だから、あなたは 'loopme'で入力を求めることができます。 Ajay2588は既にあなたに例を示しました。 (Python 3の 'raw_input'の代わりに' input'を使用してください) – timgeb

関連する問題