Python:在游戏上添加计数器

我是python和一般编程人员的新手,我发现循环非常混乱。我不需要经常使用循环,但是我目前正在开发一个简单的游戏(脚,Nuke,蟑螂,类似于Rock,Paper和Scissors),而且我很确定我的基本逻辑成功了因为我必须将它与if语句(我猜)或类似的东西绑定在一起,所以无法获得关于如何在回合中进行计数的逻辑。我还希望能够计算出玩家赢得了多少回合以及多少次是平局。玩家正在与基于随机数生成其答复的计算机对战。


import random


number = random.randint(1,3)


if number == 1:

    chosen1 = "Foot"

elif number == 2:

    chosen1 = "Nuke"

else:

    chosen1 = "Cockroach"


chosen2 = input("Foot, Nuke or Cockroach? (Quit ends):")


def choice(chosen1, chosen2):

    if (chosen1 == "Nuke" and chosen2=="Nuke"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You LOSE!")

    elif chosen1 == chosen2:

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("It is a tie!")

    elif (chosen1 == "Foot" and chosen2=="Cockroach"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You LOSE!")

    elif (chosen2 == "Foot" and chosen1=="Cockroach"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You WIN!")

    elif (chosen1 == "Nuke" and chosen2=="Foot"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You LOSE!")

    elif (chosen2 == "Nuke" and chosen1=="Foot"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You WIN!")

    elif (chosen1 == "Cockroach" and chosen2=="Nuke"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You LOSE!")

    elif (chosen2 == "Cockroach" and chosen1=="Nuke"):

        print("You chose: ", chosen2)

        print("Computer chose: ", chosen1)

        print("You WIN!")

    elif chosen2 =="Quit":

        quit()


while chosen2 != "Quit":

    choice(chosen1, chosen2)

    chosen2 = input("Foot, Nuke or Cockroach? (Quit ends):")

有人可以建议我如何处理此循环吗?编辑:我希望在用户退出后打印获胜,平局和回合的数量。


手掌心
浏览 141回答 3
3回答

浮云间

您可以像这样对赢和输进行查表:who_wins = {('Cockroach','Nuke'): True,            ('Foot', 'Cockroach'): True,            ('Nuke', 'Foot'): True}这样,您可以运行像这样的函数def check_winner(player, cpu):    result = who_wins.get((player,cpu), False)    return result然后检查状态result = check_winner(chosen2, chosen1)if result:   print("You won!")   your_wins+=1else:   print("You lost!")   computer_wins+=1总共看起来像import randomyour_wins, cpu_wins = 0,0who_wins = {('Cockroach','Nuke'): True,            ('Foot', 'Cockroach'): True,            ('Nuke', 'Foot'): True}def check_winner(player, cpu):    result = who_wins.get((player,cpu), False)    return resultwhile True:    number = random.randint(1,3)    if number == 1:        chosen1 = "Foot"    elif number == 2:        chosen1 = "Nuke"    else:        chosen1 = "Cockroach"    chosen2 = input("Foot, Nuke or Cockroach? (Quit ends):")    if chosen2.lower() != "quit":        result = check_winner(chosen2, chosen1)        if result:           print("You won!")           your_wins += 1        else:           print("You lost!")           cpu_wins +=1    else:        quit()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python