Alguin que sepa de python3 me puede decir que falla de mi codigo pq no lo veo

Iniciado por Weng Weng, 10 Diciembre 2018, 00:05 AM

0 Miembros y 1 Visitante están viendo este tema.

Weng Weng

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.

Alvarito050506

Buen día ¿podrías especificar el código de error? O sea, algo así:
CitarTraceback (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.

tincopasan

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. 

apuromafo CLS

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 (python) [Seleccionar]
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, 'Trevols'], [2, 'Trevols'], [3, 'Trevols'],[4, 'Trevols'],[5, 'Trevols'],
    [6, 'Trevols'], [7, 'Trevols'], ['J', 'Trevols'], ['Q', 'Trevols'], ['K', 'Trevols']
]
#baraja las cartas
random.shuffle(baralla)
cartas_jugador=[]
cartas_maquina=[]
#fix1_apu
contador_jugador=0

posicion_jugador=-1
posicion_maquina=-2

puntos_jugador=0
puntos_maquina=0


#CARTAS


print("MAQUINA:") #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=input("Quieres continuar s/n?")
#fix2_que pasa aqui, le das a continuar, pero  no le has preguntado nada al usuario
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
        #Condicion de si tienes una letra te da o,5 puntos
     elif cartas_jugador[-1][0] == 'J' or cartas_jugador[-1][0] == 'Q' or cartas_jugador[-1][0] == 'K':
        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
#print("gracias por jugar")
       # continuar=input("Quieres continuar s/n?")