Python:在gam上添加计数器

2024-09-24 00:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python和一般编程都是新手,我发现循环非常混乱。我不经常需要使用循环,但我目前正在做一个简单的游戏(脚,核弹,蟑螂,类似于石头,布,剪刀),我很确定我在基本逻辑上成功了,但是我不能得到如何为回合做一个计数器的逻辑,因为我必须把它与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):")

有人能告诉我怎么处理这个循环吗? 编辑:我想在用户退出后打印获胜、平局和回合数。在


Tags: andyounumberifquitcomputerprintnuke
3条回答

你的循环似乎没问题。您只需要将结果保存在一个可以更新的变量中。在名为choice的函数中,可以对每个结果使用return语句,也可以只需稍加努力就可以定义

wins = 0
ties = 0

在程序开始时,然后添加

^{pr2}$

在你计划的每一个可能的结果

基本上:您需要声明一个count变量,并在每次新一轮开始时向该变量添加1,然后,您可以打印整数。如果您使用了一个数字(就像您应该使用的那样),您将得到一个错误,要解决这个问题,请使用str()方法。在

我已经在一个更换 https://repl.it/@conradkay/WarpedPrevailingQuerylanguage

好吧,你可以在每个if中添加一个return语句,如果是平局,返回0,如果玩家赢了,返回1,否则返回2。在

然后简单地添加

result = choice(chosen1, chosen2)

这就是结果。然后将其与更多的if进行比较,并添加一个平局和获胜变量。 它很难看,但它应该有用。在

相关问题 更多 >