lunes, 5 de enero de 2015

Soluciones Codeacademy Python. Batalla Naval Parte 2

Soluciones al tema 12 del curso de Python de  Codeacademy . Batalla naval. Parte 2


11/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
else:
    print "Agua, no tocaste mi barco"
tablero[adivina_fila]="X"
tablero[adivina_columna]="X"

12/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
else:
    if adivina_fila not in range(5) or adivina_columna not in range(5):
        print "Huy, eso ni siquiera está en el océano"
    else:
        print "Agua, no tocaste mi barco"

13/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
elif tablero[adivina_fila][adivina_columna]=="X":
    print "Ya dijiste esa."
else:
    if adivina_fila not in range(5) or adivina_columna not in range(5):
        print "Huy, eso ni siquiera está en el océano"
    else:
        print "Agua, no tocaste mi barco"

14/19
-nada-

15/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)

16/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)
    if turn==3:
        print "Fin del juego"
    else:
        print "Fin del juego"

17/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
      break
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)
    if turn==3:
        print "Fin del juego"
    else:
        print "Fin del juego"



19/19

6 comentarios:

  1. Hola:

    Favor verifica el punto 13/19. Me dio un error al ejecutarlo. Lo modifiqué de la siguiente forma y pasó:

    if adivina_fila == barco_fila and adivina_columna == barco_col:
    print "Felicitaciones! Hundiste mi barco!"
    elif tablero[adivina_columna] == "X" and tablero[adivina_fila] == "X":
    print "Ya dijiste esa."
    else:
    if adivina_fila not in range(0,5) or adivina_columna not in range(0,5):
    print "Vaya, esto ni siquiera esta en el oceano."
    else:
    print "No impactaste mi barco!"

    ResponderEliminar
  2. Hola! a mí no me da error , ¿Qué datos has introducido?
    gracias por comentar ;)

    ResponderEliminar
  3. asi debe terminar
    if turn == 3:
    print "Fin del juego"
    else:
    print "Turn", turn + 1
    print_tablero(tablero)

    ResponderEliminar
  4. 11/9 cambialo asi(para marcar la X):
    if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
    else:
    print "Agua, no tocaste mi barco"
    tablero[adivina_fila][adivina_columna] = "X"
    print_tablero(tablero)

    ResponderEliminar
  5. import random

    tablero = []

    for x in range(0,5):
    tablero.append(["O"] * 5)

    def print_tablero(tablero):
    for fila in tablero:
    print " ".join(fila)

    # Aquí introduzco la X a modo de haber hecho 'agua' previamente
    tablero[0][0] = 'X'

    print_tablero(tablero)

    def fila_aleatoria(tablero):
    return random.randint(0,len(tablero)-1)

    def columna_aleatoria(tablero):
    return random.randint(0,len(tablero[0])-1)

    barco_fila = fila_aleatoria(tablero)
    barco_columna = columna_aleatoria(tablero)

    print barco_fila
    print barco_columna

    adivina_fila = input("Adivina fila:")
    adivina_columna = input("Adivina columna:")

    # escribí tu código a continuación.
    if adivina_fila == barco_fila:
    print "Felicitaciones, Hundiste mi barco!"
    else:
    if adivina_fila not in range(5) or \
    adivina_columna not in range(5):
    print 'Huy, eso ni siquiera esta en el oceano'
    elif tablero[adivina_fila][adivina_columna] == 'X':
    print 'Ya dijiste esa.'
    else:
    print "Agua, no tocaste mi barco"
    tablero[adivina_fila][adivina_columna]='X'
    if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
    else:

    if adivina_fila not in range(5) or adivina_columna not in range(5):
    print "Huy, eso ni siquiera está en el océano"
    else:
    print "Agua, no tocaste mi barco"


    me da error en la linea 48

    ResponderEliminar
  6. if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
    print "Huy, eso ni siquiera esta en el océano."
    elif(tablero[adivina_fila][adivina_columna] == "X"):
    print "Ya dijiste esa."
    else:
    print "No tocaste mi barco!"
    tablero[adivina_fila][adivina_columna] = "X"
    print "Turn", turn+1
    print_tablero(tablero)ç

    ResponderEliminar