Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Weng Weng en 10 Diciembre 2018, 00:05 am



Título: Alguin que sepa de python3 me puede decir que falla de mi codigo pq no lo veo
Publicado por: Weng Weng en 10 Diciembre 2018, 00:05 am
import random, os



baralla = [
    [1, 'Piques'], [2, 'Piques'], [3, 'Piques'],[4, 'Piques'],[5, 'Piques'],
    [6, 'Piques'], [7, 'Piques'], ['J', 'Piques'], ['Q', 'Piques'],['K', 'Piques'],
    [1, 'Diamants'], [2, 'Diamants'], [3, 'Diamants'],[4, 'Diamants'],[5, 'Diamants'],
    [6, 'Diamants'], [7, 'Diamants'], ['J', 'Diamants'], ['Q', 'Diamants'], ['K', 'Diamants'],
    [1, 'Cors'], [2, 'Cors'], [3, 'Cors'],[4, 'Cors'],[5, 'Cors'],
    [6, 'Cors'], [7, 'Cors'], ['J', 'Cors'], ['Q', 'Cors'], ['K', 'Cors'],
    [1, 'Trèvols'], [2, 'Trèvols'], [3, 'Trèvols'],[4, 'Trèvols'],[5, 'Trèvols'],
    [6, 'Trèvols'], [7, 'Trèvols'], ['J', 'Trèvols'], ['Q', 'Trèvols'], ['K', 'Trèvols']
]



#baraja las cartas

random.shuffle(baralla)




cartas_jugador=[]
cartas_maquina=[]

posicion_jugador=-1
posicion_maquina=-2

puntos_jugador=0
puntos_maquina=0

#CARTAS


print("MÀQUINA:") #Muestra cartas de la maquina


cartas_maquina=(baralla[posicion_maquina])
print(cartas_maquina)
posicion_maquina+=-2 # Ya que la del jugador es la ultima y esta es la penultima



print("JUGADOR:") #Muestra cartas del jugador


continuar="s"

while  continuar=="s": # Si quiere otra carta
     if contador_jugador==-1: #Proporciona una carta
        cartas_jugador=[baralla[contador_jugador]]
        print(cartas_jugador)
        contador_jugador-=2
     elif contador_jugador!=1: #Proporciona otra carta
        cartas_jugador.append(baralla[contador_jugador])
        print(cartas_jugador)
        contador_jugador-=1
    elif cartas_jugador[-1][0] == 'J' or  cartas_jugador[-1][0] =='Q' or cartas_jugador[-1][0] == 'K': #Condicion de si tienes una letra te da o,5 puntos
     puntos_jugador += 0.5
    else:
    puntos_jugador += cartas_jugador[-1][0] #Condicion de si tienes una carta que no es una letra te asigne el valor de la carta

    continuar=input("Quieres continuar s/n?")

Muchas gracias de antemano, si alguien me pudiese ayudar le estaría eternamente agradecido ya que se trata de un trabajo que puntua bastante. GRACIAS.


Título: Re: Alguin que sepa de python3 me puede decir que falla de mi codigo pq no lo veo
Publicado por: Alvarito050506 en 10 Diciembre 2018, 14:50 pm
Buen día ¿podrías especificar el código de error? O sea, algo así:
Citar
Traceback (most recent call last):
  File "file3.py", line 1, in main
NameError: name 'random' is not defined
Quizás así sería mucho más fácil de encontrar el error.

Saludos.


Título: Re: Alguin que sepa de python3 me puede decir que falla de mi codigo pq no lo veo
Publicado por: tincopasan en 10 Diciembre 2018, 15:50 pm
este mismo post lo tenés en otro lado y ya te respondí ¿no lees? Aparte, la aclaración de la versión de python no interesa, tenés problemas de lógica, además,¿que ésperas, qué te lo den funcional? Según tu criterio hay que adivinar el error(hay varios) y además lo que querés que haga. 


Título: Re: Alguin que sepa de python3 me puede decir que falla de mi codigo pq no lo veo
Publicado por: apuromafo CLS en 15 Diciembre 2018, 02:19 am
los primeros son de identation (espacios)
la segunda el tema de uso de tildes por no definir codificacion (trevols)
luego tienes de logica (continuar ="s" )
te falta definir la variable "contador_jugador"
mas menos viendo eso , viendo que funcione solamente por funcionar, la máquina funciona bien, la otra parte por el tema lógico (te falta agregar algo mas)
Traceback (most recent call last):
  File "C:\Users\PC\Desktop\juego.py", line 49, in <module>
    cartas_jugador.append(baralla[contador_jugador])
IndexError: list index out of range

C:\Users\PC>

como verás se fue fuera de rango, pero imprimio una mas otra carta, mas otra, suma suma, suma, y no le das termino
C:\Users\PC>C:\Users\PC\Desktop\juego.py
MAQUINA:
[3, 'Cors']
JUGADOR:
[['Q', 'Diamants']]
[[2, 'Trevols']]
[[2, 'Trevols'], [6, 'Cors']]
[[2, 'Trevols'], [6, 'Cors'], [3, 'Trevols']]
[[2, 'Trevols'], [6, 'Cors'], [3, 'Trevols'], [2, 'Cors']]

y sigue procesando...etc


 
Código
  1. import random, os
  2. baralla = [
  3.    [1, 'Piques'], [2, 'Piques'], [3, 'Piques'],[4, 'Piques'],[5, 'Piques'],
  4.    [6, 'Piques'], [7, 'Piques'], ['J', 'Piques'], ['Q', 'Piques'],['K', 'Piques'],
  5.    [1, 'Diamants'], [2, 'Diamants'], [3, 'Diamants'],[4, 'Diamants'],[5, 'Diamants'],
  6.    [6, 'Diamants'], [7, 'Diamants'], ['J', 'Diamants'], ['Q', 'Diamants'], ['K', 'Diamants'],
  7.    [1, 'Cors'], [2, 'Cors'], [3, 'Cors'],[4, 'Cors'],[5, 'Cors'],
  8.    [6, 'Cors'], [7, 'Cors'], ['J', 'Cors'], ['Q', 'Cors'], ['K', 'Cors'],
  9.    [1, 'Trevols'], [2, 'Trevols'], [3, 'Trevols'],[4, 'Trevols'],[5, 'Trevols'],
  10.    [6, 'Trevols'], [7, 'Trevols'], ['J', 'Trevols'], ['Q', 'Trevols'], ['K', 'Trevols']
  11. ]
  12. #baraja las cartas
  13. random.shuffle(baralla)
  14. cartas_jugador=[]
  15. cartas_maquina=[]
  16. #fix1_apu
  17. contador_jugador=0
  18.  
  19. posicion_jugador=-1
  20. posicion_maquina=-2
  21.  
  22. puntos_jugador=0
  23. puntos_maquina=0
  24.  
  25.  
  26. #CARTAS
  27.  
  28.  
  29. print("MAQUINA:") #Muestra cartas de la maquina
  30.  
  31.  
  32. cartas_maquina=(baralla[posicion_maquina])
  33. print(cartas_maquina)
  34. posicion_maquina+=-2 # Ya que la del jugador es la ultima y esta es la penultima
  35.  
  36.  
  37.  
  38. print("JUGADOR:") #Muestra cartas del jugador
  39.  
  40. #continuar=input("Quieres continuar s/n?")
  41. #fix2_que pasa aqui, le das a continuar, pero  no le has preguntado nada al usuario
  42. continuar ="s"
  43. while  continuar=="s": # Si quiere otra carta
  44.     if contador_jugador==-1: #Proporciona una carta
  45.        cartas_jugador=[baralla[contador_jugador]]
  46.        print(cartas_jugador)
  47.        contador_jugador-=2
  48.     elif contador_jugador!=1:
  49.     #Proporciona otra carta
  50.        cartas_jugador.append(baralla[contador_jugador])
  51.        print(cartas_jugador)
  52.        contador_jugador-=1
  53.        #Condicion de si tienes una letra te da o,5 puntos
  54.     elif cartas_jugador[-1][0] == 'J' or cartas_jugador[-1][0] == 'Q' or cartas_jugador[-1][0] == 'K':
  55.        puntos_jugador +=0.5
  56.     else:
  57.        puntos_jugador += cartas_jugador[-1][0]
  58.    #Condicion de si tienes una carta que no es una letra te asigne el valor de la carta
  59. #print("gracias por jugar")
  60.       # continuar=input("Quieres continuar s/n?")