为了账号安全,请及时绑定邮箱和手机立即绑定

Python:在游戏上添加计数器

Python:在游戏上添加计数器

手掌心 2021-05-05 13:12:58
我是python和一般编程人员的新手,我发现循环非常混乱。我不需要经常使用循环,但是我目前正在开发一个简单的游戏(脚,Nuke,蟑螂,类似于Rock,Paper和Scissors),而且我很确定我的基本逻辑成功了因为我必须将它与if语句(我猜)或类似的东西绑定在一起,所以无法获得关于如何在回合中进行计数的逻辑。我还希望能够计算出玩家赢得了多少回合以及多少次是平局。玩家正在与基于随机数生成其答复的计算机对战。import randomnumber = 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):")有人可以建议我如何处理此循环吗?编辑:我希望在用户退出后打印获胜,平局和回合的数量。
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

您可以像这样对赢和输进行查表:


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+=1

else:

   print("You lost!")

   computer_wins+=1

总共看起来像


import random


your_wins, cpu_wins = 0,0


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


while 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()


查看完整回答
反对 回复 2021-05-25
  • 3 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信