繁体   English   中英

我总是得到最终的印刷品,甚至写下我想要的 class。 我该如何解决?

[英]I always get the final print, even writing the class that I want. How do I fix this?

所以,我只是为了好玩而尝试创建一个角色扮演游戏。 但是,在创建课程时,我注意到我无法选择我的 class。每次我选择 class 时,我总是得到最终打印。 我该如何解决?

while (True):
    print("Select your class\n")
    print("\nKnight\nArcher\nTank\nRogue\n\n")

    classe = input("")

    if((classe.strip()).lower() == "Knight"):
        forca = 10
        defe = 4
        hp = 8
        agi = 2
        inte = 2
        break

    elif((classe.lower()) == "Archer"):
        forca = 6
        defe = 6
        hp = 6
        inte = 8
        agi = 7
        break

    elif((classe.strip()).lower() == "Tank"):
        forca = 5
        defe = 8
        hp = 10
        inte = 3
        break

    elif((class.strip()).lower() == "Rogue"):
        strenght += 6
        def = 5
        hp = 5
        inte = 6
        agi = 10
        break
    else:
        print("You need to choose one.")

您正在使用.lower()然后将其与大写字母 ( Tank ) 的单词进行比较。 所以它永远不会匹配。 尝试这个:

while (True):
    print("Select your class\n")
    print("\nKnight\nArcher\nTank\nRogue\n\n")

    classe = input("")

    if((classe.strip()).lower() == "knight"):
        forca = 10
        defe = 4
        hp = 8
        agi = 2
        inte = 2
        break

    elif((classe.lower()) == "archer"):
        forca = 6
        defe = 6
        hp = 6
        inte = 8
        agi = 7
        break

    elif((classe.strip()).lower() == "tank"):
        forca = 5
        defe = 8
        hp = 10
        inte = 3
        break

    # class is a keyword, use classe
    elif((classe.strip()).lower() == "rogue"):
        # Does this need to be an equals?
        strenght = 6
        # Def is a keyword, use defe
        defe = 5
        hp = 5
        inte = 6
        agi = 10
        break
    else:
        print("You need to choose one.")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM