作为我的家庭作业(使用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()