2016-12-20 8 views
1

私はLewisとClarkを除くすべての人のための丁寧な挨拶を返すPython関数を作成しようとしています。ここに私が試したものです:"Hello" + Input + "!"を返すPython関数2つの特定のケースを除いて

def politeGreeting(name): 
    #if the user's name is Lewis or Clark, say "Oh, it's you." 
    if name == "Lewis" or "Clark": 
     return("Oh, it's you") 
    #if the user's name is anything else 
    else: 
     return("Hello," + name + "!") 

name = input("please enter your name")   
print (politeGreeting(name)) 

今のところ、これは皆のためだけでなく、ルイスとクラークのためOh, it's youを印刷しています。なぜ私のIDEがエラーメッセージを返さないのかわかりません。できる場合はお手伝いください、ありがとうございます。

+6

あなたが条件を再表示しなければならない、それを試してみてください

def politeGreeting(name): #if the user's name is Lewis or Clark, say "Oh, it's you." if name.lower() in ("lewis", "clark"): return("Oh, it's you " + name.title()) #if the user's name is anything else else: return("Hello, " + name.title() + "!") name = input("Please enter your name:") print(politeGreeting(name)) 

をすべての条件のために! 'name ==" Lewis "または名前==" Clark ": – Li357

答えて

4

これは、各比較のための条件==を修正再表示しない問題を修正する必要があります。 LewisまたはClark

def politeGreeting(name): 
    #if the user's name is Lewis or Clark, say "Oh, it's you." 
    if name == "Lewis" or name == "Clark": 
    return("Oh, it's you") 
    #if the user's name is anything else 
    else: 
    return("Hello, " + name + "!") 

name = input("Please enter your name:")   
print(politeGreeting(name)) 

しかし、あなたが入力の異なる大文字表記を可能にしたい場合はstr.lower()str.title()を使用していますこのような何かしてみてください:here!

+0

解決策を提供するだけでなく、問題を元のコードに記述する必要があります。 –

+1

@ shash678また、さまざまな大文字小文字の区別に対応する方法を知っておくとよいでしょう。 repl.itへのリンクありがとう - 本当に素晴らしいコンパイラ/ IDE! – Chameleon

0

name == "Lewis" or "Clarke"は常にTrueと評価されます。代わりにname in ("Lewis", "Clarke")を使用してください。

def politeGreeting(name): 
    #if the user's name is Lewis or Clark, say "Oh, it's you." 
    if name in ("Lewis", "Clark"): 
     return("Oh, it's you") 
    #if the user's name is anything else 
    else: 
     return("Hello," + name + "!") 

    name = input("please enter your name")   
    print (politeGreeting(name)) 
0
def politeGreeting(name): 
    #if the user's name is Lewis or Clark, say "Oh, it's you." 
    if if name == "Lewis" or name == "Clark": 
     return("Oh, it's you") 
    #if the user's name is anything else 
    else: 
     return("Hello," + name + "!") 

name = input("please enter your name")   
print (politeGreeting(name)) 
関連する問題