如何在Python3中修复这个简单函数?

如何在Python3中修复这个简单函数?,python,python-3.x,function,Python,Python 3.x,Function,我只是想写一个基本函数,它将返回: “朴茨茅斯”输入值1时, “Alverstoke”输入值2时, 当输入值3时,“Lee_on_the_Solent”(Lee_on_the_Solent) 我看不出我做错了什么,但不知为什么,当输入的值为1或2时,else语句也会被应用?但是当输入值3时,代码是否按预期执行 到目前为止,我掌握的代码是: def favorite_city(value): if (value == 1): name = "Portsmouth"

我只是想写一个基本函数,它将返回:

“朴茨茅斯”输入值1时, “Alverstoke”输入值2时, 当输入值3时,“Lee_on_the_Solent”(Lee_on_the_Solent)

我看不出我做错了什么,但不知为什么,当输入的值为1或2时,else语句也会被应用?但是当输入值3时,代码是否按预期执行

到目前为止,我掌握的代码是:

def favorite_city(value):
    if (value == 1):
        name = "Portsmouth"
        print("One of my favourite cities is", name)
    if (value == 2):
        name = "Alverstoke"
        print("One of my favourite cities is", name)
    if (value == 3):
        name = "Lee_on_the_Solent"
        print("One of my favourite cities is", name)
    else:
        print("please type a number 1-3")

我对这一切都很陌生,仍在努力学习。请帮忙

感谢您的评论,我现在已经解决了这个问题。如上所述,我要求使用elif,如下所示:

def favorite_city(value):

if (value == 1):
    name = "Portsmouth"
    print("One of my favourite cities is", name)

elif (value == 2):
    name = "Alverstoke"
    print("One of my favourite cities is", name)

elif (value == 3):
    name = "Lee_on_the_Solent"
    print("One of my favourite cities is", name)

else:
    print("please type a number 1-3")

这解决了我的问题。感谢那些帮助您的人

如果您想使用
elif
请使用代码格式化程序将代码直接放入问题中,而不是为屏幕截图提供IT策略的链接/图片,这是我第一次使用这个论坛,我没有realise@T.Coates你可以post@Carcigenicate现在应该全部编辑和修复。我现在也提供了一个解决方案。非常感谢。