为了账号安全,请及时绑定邮箱和手机立即绑定

Python return 在上一个函数中触发 else

Python return 在上一个函数中触发 else

www说 2023-03-16 16:42:31
我试图在 python 中制作一个简单的基于文本的冒险游戏,并且遇到了一个小错误,即在我不希望它调用时调用了 else 命令。以下是我的代码中的一个小示例。## inventory var ## inv=["torch"] ## inventory function ## def ichk():       print(f" You are carrying{inv}")       return##First room, links to a3##    def a2():        move=input("placeholder text.. You notice an exit to your 'east': ")    if move==("e"):            print("You exit to the east")            a3()    if move==("i"):            ichk()    if move==("q"):            print("You find nothing of value")            a2()    else:            print("You can't move in that direction")            a2()            当函数 ichk() 被触发时(通过用户输入“i”),库存被打印,然而在返回到函数 a2() 的开头之前,else 打印语句也被打印。我是 python 的新手,所以我知道构造的参数可能不是高效/有效的编码,但我不确定为什么会触发它。
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

当你像那样链接它们时你需要使用elif语句,否则输入'i',if你拥有的第三条语句将为假并运行相关else语句:


## inventory var ##

 inv=["torch"] 



## inventory function ##

 def ichk():

       print(f" You are carrying{inv}")

       return




##First room, links to a3##


    def a2():

    

    move=input("placeholder text.. You notice an exit to your 'east': ")


    if move==("e"):

            print("You exit to the east")

            a3()

    elif move==("i"):

            ichk()


    elif move==("q"):

            print("You find nothing of value")

            a2()

    else:

            print("You can't move in that direction")

            a2()


查看完整回答
反对 回复 2023-03-16
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

在Python中,如果有多个条件语句,需要写成:if,elif,elif,elif,....,else


## inventory var ##

 inv=["torch"] 



## inventory function ##

 def ichk():

       print(f" You are carrying{inv}")

       return




##First room, links to a3##


    def a2():

    

    move=input("placeholder text.. You notice an exit to your 'east': ")


    if move==("e"):

            print("You exit to the east")

            a3()

    elif move==("i"):

            ichk()


    elif move==("q"):

            print("You find nothing of value")

            a2()

    else:

            print("You can't move in that direction")

            a2()


查看完整回答
反对 回复 2023-03-16
  • 2 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信