gpt4 book ai didi

python函数随机循环if语句

转载 作者:太空狗 更新时间:2023-10-30 00:55:18 28 4
gpt4 key购买 nike

我正在制作剪刀石头布游戏,遇到了 decisioncycle() 问题。我想要做的是要求用户在 usercycle() 中输入一个选择,让计算机在 gamecycle() 中生成一个随机选择,然后确定谁赢了回合并通过输赢计数跟踪每个结果。它似乎在决定何时随机工作。

import random


class rpsgame:

rps= ["rock", "paper","scissors"]


wincount=0
losecount=0
def usercycle(self):
userchoice = input("rock, paper, scissor.....")
print("SHOOT")
return userchoice

def gamecycle(self):
computerchoice = random.choice(rpsgame.rps)
return computerchoice




def decisioncycle(self):
if rpsgame.usercycle(self) == rpsgame.rps[0] and rpsgame.gamecycle(self) == rpsgame.rps[1]:
print("paper beats rock, you lose!")
rpsgame.losecount +=1
elif rpsgame.usercycle(self) == rpsgame.rps[1] and rpsgame.gamecycle(self) == rpsgame.rps[0]:
print("paper beats rock, you win!")
rpsgame.wincount+=1
elif rpsgame.usercycle(self) == rpsgame.rps[0] and rpsgame.gamecycle(self) == rpsgame.rps[2]:
print("rock beats scissors, you win!")
rpsgame.wincount+=1
elif rpsgame.usercycle(self) == rpsgame.rps[2] and rpsgame.gamecycle(self) == rpsgame.rps[0]:
print("rock beats scissors, you lose!")
rpsgame.losecount+=1
elif rpsgame.usercycle(self) == rpsgame.rps[1] and rpsgame.gamecycle(self) == rpsgame.rps[2]:
print("scissors beats paper, you lose!")
rpsgame.losecount+=1
elif rpsgame.usercycle(self) == rpsgame.rps[2] and rpsgame.gamecycle(self) == rpsgame.rps[1]:
print("scissors beats paper, you win!")
rpsgame.wincount+=1
elif rpsgame.usercycle(self) == rpsgame.gamecycle(self):
print("it's a tie!!!")
print("wins {}, losses {}".format(rpsgame.wincount, rpsgame.losecount))




while True:
rg = rpsgame()
rg.usercycle()
rg.gamecycle()
rg.decisioncycle()

我认为我的问题出在 decisioncycle() 中。这是我在类里面的第一次尝试,因为游戏使用的是全局变量,但我在这里读到,这是对 future 进行的一种不好的做法。

最佳答案

您可以使用模块化算法,而不是使用大量循环来评估每个组合。

假设您制作 map

"rock" => 0
"paper"=>1
"scissors" => 2

您可以将解决方案评估为

(A.number - B.number) % 3

如果这个结果为0则平局,如果为1则A赢2则A输

关于python函数随机循环if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29733239/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com