2016-11-10 7 views
-1

私はPythonを学んでいるので、次のことがうまくいかない理由を理解できません。条件文に関する初心者の質問

誰も助言できますか?

おかげ


# Make sure that the_flying_circus() returns True 

print "What is your number?" 
num = input() 
print "What is bla?" 
bla = input() 

def the_flying_circus(): 
    if num ==4 and bla=="bla": # Start coding here! 
     return True 
     print "Well done!" 
     # Don't forget to indent 
     # the code inside this block! 
    elif num == 2 or bla== zog: 
     print "OK" 
     # Keep going here. 
     # You'll want to add the else statement, too! 
    else: 
     print "Bad luck!" 
the_flying_circus() 
+1

はこのPythonの2.xのですか?もしそうなら、入力の代わりに 'raw_input()'を使います。それとも、[Pythonの最新版(安定版)をダウンロードして学ぶ](https://www.python.org/downloads/win)です。 –

+3

"うまくいかない"ということはあまり有益ではありません。コードは何をすべきか、実際には何をしていますか? – interjay

+0

おそらく '' zog''は、 '' zog''が他の場所で変数として定義されていない限り –

答えて

1

return True以下のコードは、あなたがifブロックの上に持っていたいものはおそらくではありません。削除してください。

0

Trueを返す唯一の条件は、num == 4で、bla == 'bla'です。それ以外の場合は、戻り値はNoneです。しかし、「やったよ! return文が最初に出現するので、決して印刷されません。物事の

0

カップル...

1)他の人が述べたように真のは、関数の最後(に移動する必要があります戻る)

2)あなたが入力を収集する方法を見て...のためにraw_input使用あなたの文字列、番号の入力を使用します。

これが私の作品:

def the_flying_circus(): 
    if a==4 and b=='bla': 
    print "Well done!" 
    elif a==2 or b=="zog": 
    print "OK" 
    else: 
    print "Bad luck!" 
    return 1 

a = input("What is your number? ") 
b = raw_input("What is bla? ") 

the_flying_circus()