Estoy intentando que este juego de tijeras de papel piedra devuelva un valor booleano, como en el conjunto player_wins
en verdadero o falso, dependiendo de si el jugador gana, o para refactorizar este código por completo para que no utilice un ciclo while. Vengo del lado de sysadmin del mundo, así que sea amable si está escrito en el estilo incorrecto. He intentado algunas cosas, y entiendo TIMTOWTDI, y solo me gustaría alguna información.Pregunta para principiantes: devolver un valor booleano de una función en Python
Gracias.
import random
global player_wins
player_wins=None
def rps():
player_score = 0
cpu_score = 0
while player_score < 3 and cpu_score < 3:
WEAPONS = 'Rock', 'Paper', 'Scissors'
for i in range(0, 3):
print "%d %s" % (i + 1, WEAPONS[i])
player = int(input ("Choose from 1-3: ")) - 1
cpu = random.choice(range(0, 3))
print "%s vs %s" % (WEAPONS[player], WEAPONS[cpu])
if cpu != player:
if (player - cpu) % 3 < (cpu - player) % 3:
player_score += 1
print "Player wins %d games\n" % player_score
else:
cpu_score += 1
print "CPU wins %d games\n" % cpu_score
else:
print "tie!\n"
rps()
que estoy tratando de hacer algo como esto:
print "%s vs %s" % (WEAPONS[player], WEAPONS[cpu])
if cpu != player:
if (player - cpu) % 3 < (cpu - player) % 3:
player_score += 1
print "Player wins %d games\n" % player_score
if player_score == 3:
return player_wins==True
else:
cpu_score += 1
print "CPU wins %d games\n" % cpu_score
if cpu_score == 3:
return player_wins==False
else:
print "tie!\n"
¿Qué valor booleano se debe devolver para un empate? –
Debido a que está dentro de un ciclo while, los vínculos solo te devuelven al principio. ¡REVANCHA! – matt
Supongo que este no es un buen proyecto para obtener una comprensión adecuada de la programación. – matt