2016-07-29 1 views
1

これまでに学んだことを試していましたが、私はraw_input()を使ってインタラクティブなものを作りたかったのです。生の入力で関数を使用する

私がしたいことは、入力に基づいて異なる方向に進む会話を作成する機能を作成することでした。しかし、私は関数をどのようにしてraw_inputを引数として受け入れるかを理解することができませんでした。

ここには私が書いたコードがあります。

drink = raw_input("Coffee or Tea?") 

def drinktype(drink): 
    if drink == "Coffee": 
    #I WANT TO INSERT A CODE HERE THAT WILL CALL THE FUNCTION coffee(x) 
    elif drink == "Tea": 
     print "Here is your tea." 
    else: 
     print "Sorry." 

x = raw_input("Americano or Latte?") 

def coffee(x): 
    if x == "Americano": 
     return "Here it is."  
    elif x == "Latte": 
     return "Here is your latte." 
    else: 
     return "We do not have that, sorry." 
+2

このコードは機能しません。あなたが少なくともPythonの構文を守っていることを確認し、正しく字下げされていることを確認してください。インデントはPythonでは重要です。 – idjaw

+3

あなたは今まであなたの機能を忘れていないようです。 –

+0

私はインデントを変更しました。思い出してくれてありがとうございますが、ここでコードを貼り付けるうちに不注意でした。どのように関数を呼び出すのですか? – sonooob

答えて

1

アメリカーノやラテの要求があなただけのコーヒーが要求された場合に実行する必要があるものです。ユーザーがお茶をリクエストすると無関係です。それがCoffeeケースの下に移動されたら、返された値をcoffee()への呼び出しに渡すことができます。戻り値も出力する必要があります。あなたは、あなたのコードは、関数drinktypeを定義した後 2を動作させるため 1.正しいインデントが重要であることに注意してください、次の

def coffee(): 
    x = raw_input("Americano or Latte?") 
    if x == "Americano": 
     return "Here it is."  
    elif x == "Latte": 
     return "Here is your latte." 
    else: 
     return "We do not have that, sorry." 

def drinktype(drink): 
    if drink == "Coffee": 
     print coffee() 
    elif drink == "Tea": 
     print "Here is your tea." 
    else: 
     print "Sorry." 


drink = raw_input("Coffee or Tea?") 

drinktype(drink) 

のようなものを取得しようとしているよう

def drinktype(drink): 
    if drink == "Coffee": 
     kind = raw_input("Americano or Latte?") 
     print coffee(kind) 
    elif drink == "Tea": 
     print "Here is your tea." 
    else: 
     print "Sorry." 

def coffee(x) 
    if x == "Americano": 
     return "Here it is."  
    elif x == "Latte": 
     return "Here is your latte." 
    else: 
     return "We do not have that, sorry." 

drink = raw_input("Coffee or Tea?") 
drinktype(drink) 
+0

説明していただきありがとうございます。 – sonooob

0

このようなものをお探しですか?

drink = raw_input("Coffee or Tea?") 

def drinktype(drink): 
    if drink == "Coffee": 
     usercoffeetype = raw_input("What type of coffee do you drink?") 
     coffee(usercoffeetype) 
    elif drink == "Tea": 
     print "Here is your tea." 
    else: 
     print "Sorry." 

x = raw_input("Americano or Latte?") 

def coffee(x) 
    if x == "Americano": 
     return "Here it is."  
    elif x == "Latte": 
     return "Here is your latte." 
    else: 
     return "We do not have that, sorry." 

「x」のような変数名を使用することは、一般的には良いことではありません。あなたの変数名が実際にこのように、それが保持しているものを説明した場合、それが良いだろう:

def coffee(coffeechoice) 
    if coffeechoice == "Americano": 
     return "Here it is."  
    elif coffeechoice == "Latte": 
     return "Here is your latte." 
    else: 
     return "We do not have that, sorry." 
0

は)(ルックス実際に呼び出す必要があります。 (最後の行が関数を呼び出しています)

+0

ああ、私は今参照してください。ありがとうございました。 – sonooob

関連する問題