1

我在 python 中的 if 语句有问题。我正在制作一个完全用 dolan 说话的“游戏”,请原谅拼写,这意味着幽默。对不起。

这是代码:

import time

def menu():
    print ("dogz r a supar hahrd tin 2 matsr it tak yrs 2 mastr ut u nw git 2 exprince it. pik a tin 2 du:\n")
    menu = raw_input("1.)Ply Da Dogi gam\n2.)Halp\n")

    if menu == 1:
        game()

    if menu == 2:
        helpGame()

    if menu < 2:
        print ("dat not 1 ur 2 sry")
        time.sleep(1)
        menu()

def game():
    print ("nuw u ply mi gme u lke it")

def helpGame():
    print ("dis da halp u liek it")
menu()

这对我不起作用,我从来没有在 if 语句中直接调用函数,我不得不实现调用函数的“seg-ways”。

这对你们中的任何人有用吗?有可能是我的 Python 安装吗?谢谢!

4

2 回答 2

2

当您添加更多选项时,这些if语句会变得笨拙。试试这个基于字典的结构。

def menu():
    print ("dogz r a supar hahrd tin 2 matsr it tak yrs 2 mastr ut u nw git 2 "
           "exprince it. pik a tin 2 du:\n")
    prompt = "1.)Ply Da Dogi gam\n2.)Halp\n"
    {'1': game, '2': helpGame}.get(raw_input(prompt), menu)()
于 2013-07-16T23:34:13.680 回答
1

raw_input()返回一个字符串,如果您在 if 语句中使用数字,请更改此行:

menu = raw_input("1.)Ply Da Dogi gam\n2.)Halp\n")

对此:

menu = int(raw_input("1.)Ply Da Dogi gam\n2.)Halp\n"))

不过,您接下来将要研究如何处理错误情况。

于 2013-07-16T23:17:17.317 回答