Python - Terminar un programa desde un bucle

 
Vista:

Terminar un programa desde un bucle

Publicado por Eloi Lozano (1 intervención) el 01/12/2022 12:48:51
Buenas,

Estoy empezando en esto de la programación y durante el ejercico que adjunto no fui capaz de como resolver para que cuando el usuario responda que "no" a si quiere seguir jugando el programa se termine. (El problema reside en la #********...). El resto funciona tal y como pretendia que lo hiciese.

Muchas gracias por la ayuda.

---------------------------

import random
import time

puntuacion_jugador_1 = 0
puntuacion_jugador_2 = 0

def ronda():
#jugador 1 (2 tiradas)
num1 = random.randint(1, 6)
num2 = random.randint(1, 6)
print("Las tiradas del primer jugador son... " + str(num1) + " y " + str(num2) + ".")
#jugador 2 (2 tiradas)
num3 = random.randint(1, 6)
num4 = random.randint(1, 6)
print("Y las tiradas del segundo jugador son... " + str(num3) + " y " + str(num4) + ".")

if num1 == num2 or num1 == num3 or num1 == num4 or num2 == num3 or num2 == num4 or num3 == num4:
return True
else:
return False

while True:
if ronda() == True:
puntuacion_jugador_1 = puntuacion_jugador_1 + 1
else:
puntuacion_jugador_2 = puntuacion_jugador_2 + 1

if puntuacion_jugador_1 == 3 or puntuacion_jugador_2 == 3:
print("La puntuación del jugador 1 es de: " + str(puntuacion_jugador_1))
print("La puntuación del jugador 2 es de: " + str(puntuacion_jugador_2))
respuesta = input("Otra partida? ")
if respuesta == "SI" or " SÍ" or "Sí" or "Si" or "sí" or "si":
puntuacion_jugador_1 = 0
puntuacion_jugador_2 = 0
continue
elif respuesta == "NO" or "No" or "no":
exit() #***************************************************************************
else:
print("Vuelve a escribir tu respuesta")
continue
else:
continue
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Terminar un programa desde un bucle

Publicado por Dio (25 intervenciones) el 06/12/2022 15:13:13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import random
 
puntuacion_jugador_1 = 0
puntuacion_jugador_2 = 0
 
def ronda():
    # jugador 1 (2 tiradas)
    num1 = random.randint(1, 6)
    num2 = random.randint(1, 6)
    print("Las tiradas del primer jugador son... " + str(num1) + " y " + str(num2) + ".")
    # jugador 2 (2 tiradas)
    num3 = random.randint(1, 6)
    num4 = random.randint(1, 6)
    print("Y las tiradas del segundo jugador son... " + str(num3) + " y " + str(num4) + ".")
 
    # verificar si alguno de los números es igual a otro
    if num1 in (num2, num3, num4) or num2 in (num3, num4):
        return True
    else:
        return False
 
while True:
    if ronda() == True:
        puntuacion_jugador_1 = puntuacion_jugador_1 + 1
    else:
        puntuacion_jugador_2 = puntuacion_jugador_2 + 1
 
    if puntuacion_jugador_1 == 3 or puntuacion_jugador_2 == 3:
        print("La puntuación del jugador 1 es de: " + str(puntuacion_jugador_1))
        print("La puntuación del jugador 2 es de: " + str(puntuacion_jugador_2))
        respuesta = input("Otra partida? ")
        if respuesta.lower() == "si":
            puntuacion_jugador_1 = 0
            puntuacion_jugador_2 = 0
            continue
        elif respuesta.lower() == "no":
            break # terminar el ciclo while
        else:
            print("Vuelve a escribir tu respuesta")
            continue
    else:
        continue
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar