[ Foro de Python ]

Ayuda con este código en Python, soy principiante

09-Jul-2021 15:36
Invitado (roc445g)
0 Respuestas

Tengo que hacer un código para un juego, ir restando puntos dependiendo de lo que suceda, pero en la segunda vez que utilizo if, el programa no hace lo que debería ser, si zona es igual a 1, 2 o 3 debería pedir otro número y multiplicarlo por la zona obteniendo un puntaje que se debe restar al inicial (501)

print ("Ingrese su nombre (jugador 1) ")
jug1 = input()
print ("Ingrese su nombre (jugador 2) ")
jug2 = input()

puninicial = 501

jug1 = jug1[0:3]
jug1_upper = jug1.upper()
print (jug1_upper + " " + str(501))

jug2 = jug2[0:3]
jug2_upper = jug2.upper()

inicio = 501
if jug1_upper == jug2_upper:
   print (jug2_upper + "2" + " " + str(inicio))

else :
   print (jug2_upper + " " + str(inicio))

print ("A jugar!\n")
print ("Orden para ingresar resultados:")
print ("1er dardo : Zona (1(sencillo), 2(doble), 3(triple) o SINGLE BULL, DOUBLE BULL, NULL) y número, si es que el dardo aterrizó en las zonas 1, 2 o 3. \n")
print ("Ejemplo de tiros:")
print ("DOUBLE BULL")
print ("3 20")
print ("3 19")

tiros = 0
nuevopt = int
while nuevopt > 0:

   for tiros in range (0,3):
     print (jug1_upper + " Ingresa la zona de aterrizaje: ")
     zona = input ()
     if zona == 1 or zona == 2 or zona == 3:
                print ("ingresa el número donde ocurrrió el aterrizaje: ")
                num = input()
                puntaje = zona*num
                nuevopt = inicio - puntaje

     elif zona == "SINGLE BULL":
      puntaje = 25
      nuevopt = inicio - puntaje

     elif zona == "DOUBLE BULL":
      puntaje = 50
      nuevopt = inicio - puntaje

     else :
      puntaje = 0
      nuevopt = inicio - puntaje          

   print (nuevopt)

tiros2 = 0
while nuevopt > 0:

   for tiros2 in range (0,3):
     print (jug1_upper + " Ingresa la zona de aterrizaje: ")
     zona2 = input ()
     if zona2 == 1 or zona2 == 2 or zona2 == 3:
                print ("ingresa el número donde ocurrrió el aterrizaje: ")
                num2 = input()
                puntaje2 = zona*num2
                nuevopt2 = inicio - puntaje2

     elif zona == "SINGLE BULL":
      puntaje2 = 25
      nuevopt2 = inicio - puntaje2

     elif zona == "DOUBLE BULL":
      puntaje2 = 50
      nuevopt2 = inicio - puntaje2

     else :
      puntaje2 = 0
      nuevopt2 = inicio - puntaje2          

   print (nuevopt2)




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)