原始输入如果声明Python

时间:2013-07-16 23:13:36

标签: python raw-input

我遇到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语句中直接调用函数,而且我必须实现&#34; seg-ways&#34;它调用了函数。

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

2 个答案:

答案 0 :(得分: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)()

答案 1 :(得分: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"))

您可能希望下一步处理错误情况。