Skip to main content
 首页 » 编程设计

python之文本冒险中匹配用户选择的问题。

2025年05月04日9mq0036

我目前正在使用 python 进行简单的文本冒险。基本上我希望 randint 选择 1 或 2,然后分配给 right_wire,然后 raw_input 为 wire_choice,然后匹配 2 以提供所需的结果。我相信你们无论如何都能弄清楚我在这里想做什么。我离这里很近还是真的很远?谢谢!

    right_wire = randint(1, 2) 
 
    wrong_wire = 0 
 
    if right_wire == 1: 
        wrong_wire = 2 
    elif right_wire == 2: 
        wrong_wire = 1 
    else: 
        print "ERROR" 
 
    while True: 
        print "Which wire do you pull?" 
        print 
        print "1. The red one." 
        print "2. The blue one." 
        print 
        wire_choice = raw_input('*>>*') 
 
        if wire_choice == 1 and right_wire == 1: 
            print "**BOMB DEFUSED**" 
            return 'engineering2' 
        elif wire_choice == 2 and right_wire == 2: 
            print "**BOMB DEFUSED**" 
            return 'engineering2' 
        elif wire_choice == 1 and right_wire == 2: 
            print "**FAILED**" 
            return 'death' 
        elif wire_choice == 2 and right_wire ==1: 
            print "**FAILED**" 
            return 'death' 
        else: 
            print no_understand 

请您参考如下方法:

为什么不只是:

while True: 
    print "Which wire do you pull?" 
    print 
    print "1. The red one." 
    print "2. The blue one." 
    print 
    raw_input('*>>*') 
    if randint(0, 1): 
        print "**BOMB DEFUSED**" 
        return 'engineering2' 
    else: 
        print "**FAILED**" 
        return 'death' 

/!\raw_input 返回一个字符串,你将返回值与一个整数进行比较,它永远不会匹配:

$ python 
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)  
[GCC 4.4.5] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 1 == "1" 
False