作为我的家庭作业(使用codeskulptor.org)我在Python中整理了一个简单的Rock-Paper-Scissors-Lizard-Spock'游戏',其中硬编码玩家的猜测正在运行该程序 . 翻译从名称到数字和其他方式,随机计算机选择和打印...一切正常 .

然后我尝试引入输入,以便玩家输入他们的猜测 . 但是,控制台只打印关于错误输入的日志,但如果输入实际上是正确的,则不会启动程序的其余部分...尝试了各种修改,但我被卡住了......我错过了一些明显的东西吗?谢谢!

import simplegui
import random

def get_guess(guess):

    if guess == "rock":
        return 0
    elif guess == "Spock":
        return 1
    elif guess == "paper":
        return 2
    elif guess == "lizard":
        return 3
    elif guess == "scissors":
        return 4
    else:
        print "Error guess_to_number:", guess, "is not a rpsls-element"
        return


def number_to_name(number):

    if number == 0:
        return "rock"
    elif number == 1:
        return "Spock"
    elif number == 2:
        return "paper"
    elif number == 3:
        return "lizard"
    elif number == 4:
        return "scissors"
    else:
        print "Error number_to_name:", number, "is not in [0, 4]"
        return


def rpsls(guess): 

    print
    print "Player chooses", guess
    player_number = get_guess(guess)

    computer_number = random.randrange(5)
    computer_choice = number_to_name(computer_number)
    print "Computer chooses", computer_choice

    diff_mod = (player_number - computer_number) % 5
    if diff_mod == 0:
        print "Player and computer tie!"
    elif diff_mod == 1 or diff_mod == 2:
        print "Player wins!"
    else:
        print "Computer wins!"

frame = simplegui.create_frame("GUI-based RPSLS", 200, 200)
frame.add_input("Enter guess for RPSLS", get_guess, 200)

frame.start()