Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python 3石头、布、剪刀游戏名称错误:名称';计算机选择摇滚乐;没有定义_Python 3.x - Fatal编程技术网

Python 3.x Python 3石头、布、剪刀游戏名称错误:名称';计算机选择摇滚乐;没有定义

Python 3.x Python 3石头、布、剪刀游戏名称错误:名称';计算机选择摇滚乐;没有定义,python-3.x,Python 3.x,我正在为编程课制作一个石头、布、剪刀的游戏。这就是我得到的,然后PowerShell吐出了那个错误。我不明白出了什么问题(我是一名初级Python程序员)。我的编程老师帮不了我多少忙,他更喜欢“弄明白”的学习方法。我真的被困在这一点上了。非常感谢您的帮助,谢谢 import random def rps(): computer_choice = random.randint(1,3) if computer_choice == 1: comuter_choice

我正在为编程课制作一个石头、布、剪刀的游戏。这就是我得到的,然后PowerShell吐出了那个错误。我不明白出了什么问题(我是一名初级Python程序员)。我的编程老师帮不了我多少忙,他更喜欢“弄明白”的学习方法。我真的被困在这一点上了。非常感谢您的帮助,谢谢

import random

def rps():
    computer_choice = random.randint(1,3)
    if computer_choice == 1:
        comuter_choice_rock()
    elif computer_choice == 2:
        comuter_choice_paper()
    else:
        comuter_choice_scissors()

def computer_choice_rock():
    user_choice = input("1 for Rock, 2 for Paper, 3 for Scissors: ")
    if user_choice == "1":
        print ("It's a Tie!")
        try_again()
    if user_choice == "2":
        print ("You Win! Paper covers Rock!")
        try_again()
    if user_choice == "3":
        print ("I Win and You Lose! Rock crushes Scissors!")
        try_again()
    else:
        print ("Please type in 1, 2, or 3")
        computer_choice_rock()

def computer_choice_paper():
    user_choice = input("1 for Rock, 2 for Paper, 3 for Scissors: ")
    if user_choice == "1":
        print ("I Win and You Lose! Paper covers Rock!")
        try_again()
    if user_choice == "2":
        print ("It's a Tie!")
        try_again()
    if user_choice == "3":
        print ("You Win! Scissors cut Paper!")
        try_again()
    else:
        print ("Please type in 1, 2, or 3")
        computer_choice_paper()

def computer_choice_paper():
    user_choice = input("1 for Rock, 2 for Paper, 3 for Scissors: ")
    if user_choice == ("1"):
        print ("You Win! Rock crushes Scissors")
        try_again()
    if user_choice == "2":
        print ("I Win! Scissors cut Paper!")
        try_again()
    if user_choice == "3":
        print ("It's a Tie!")
        try_again()
    else:
        print ("Please type in 1, 2, or 3")
        computer_choice_paper()

def try_again():
    choice = input("Would you like to play again? Y/N: ")
    if choice == "Y" or choice == "y" or choice == "Yes" or choice == "yes":
        rps()
    elif choice == "n" or choice == "N" or choice == "No" or choice == "no":
        print ("Thanks for Playing!")
        quit()
    else:
        print ("Please type Y or N")
        try_again()

rps()

你的代码有一个输入错误

if computer_choice == 1:
    comuter_choice_rock()
elif computer_choice == 2:
    comuter_choice_paper()
else:
    comuter_choice_scissors()

Comuter

您的代码可以简化到极限程度。请参见下面的示例程序。要用NPC替换任一玩家,请将
player_1
player_2
设置为
random.choice(priority)
。如果你想,你甚至可以让电脑自己玩

priority = dict(rock='scissors', paper='rock', scissors='paper')

player_1 = input('Player 1? ')
player_2 = input('Player 2? ')

if player_1 not in priority or player_2 not in priority:
    print('This is not a valid object selection.')
elif player_1 == player_2:
    print('Tie.')
elif priority[player_1] == player_2:
    print('Player 1 wins.')
else:
    print('Player 2 wins.')
你也可以调整你的游戏,这样人们就可以玩了。代码只是略有不同,但展示了如何实现稍微复杂一点的游戏。计算机播放可以用前面示例中提到的相同方式实现

priority = dict(scissors={'paper', 'lizard'},
                paper={'rock', 'spock'},
                rock={'lizard', 'scissors'},
                lizard={'spock', 'paper'},
                spock={'scissors', 'rock'})

player_1 = input('Player 1? ')
player_2 = input('Player 2? ')

if player_1 not in priority or player_2 not in priority:
    print('This is not a valid object selection.')
elif player_1 == player_2:
    print('Tie.')
elif player_2 in priority[player_1]:
    print('Player 1 wins.')
else:
    print('Player 2 wins.')

仔细看,你有一个拼写错误:这个函数在定义上叫做“computer\u choice\u rock”,而在调用中叫做“comuter\u choice\u rock”(p不见了)。哇,真不敢相信我居然漏掉了!如果答案解决了你的问题,你应该接受它;)