Resultados 1 al 9 de 9

Tema: Aprendiendo Python y necesito ayuda con lo siguiente:

  1. #1

    Predeterminado Aprendiendo Python y necesito ayuda con lo siguiente:

    Muy buenas, estoy aprendiendo Python y tengo algunas dudas con el siguiente ejemplo;
    No logro entender por qué al responder "N" o alguna otra letra diferente de "Y" or "y" realiza la función de dibujar el conejo, ¿no se supone que no debería hacer nada?.
    Se me ocurre que luego del IF podría ir algún cierre, pero he copiado el ejercicio de una clase que estoy llevando y con exactamente el mismo código, a ellos les funciona, entonces ¿dónde está el error? .
    Saludos y gracias por las respuestas.

    [IMG][/IMG]

  2. #2
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    6,416

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Hace muchísimo que no toco Python, pero diria que el if está mal, has probado así?

    if rpta == "Y" or rpta == "y":
    PingStatus: Detecta cortes en tu conexión a Internet

    Intel Core i7-7700K@4.5Ghz | Corsair Hydro Series H115i Pro | MSI Z270 Gaming Pro Carbon | 32 GB DDR4 3000 MHz CL15 | Aorus GTX 1080 Ti Xtreme 11GB GDDR5X | Antec P100

  3. #3

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    ¡¡¡¡Tienes razónnnn!!!! ¡Funciona!
    Recién estoy aprendiendo este lenguaje y no me había percatado de ese pequeño gran detalle, lo escribí tal como lo haría en un pseudocódigo y no era la sintáxis correcta.

    ¡Muchas gracias Bakidok!

  4. #4
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    6,416

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    De nada! de los errores es cuando se aprende más
    PingStatus: Detecta cortes en tu conexión a Internet

    Intel Core i7-7700K@4.5Ghz | Corsair Hydro Series H115i Pro | MSI Z270 Gaming Pro Carbon | 32 GB DDR4 3000 MHz CL15 | Aorus GTX 1080 Ti Xtreme 11GB GDDR5X | Antec P100

  5. #5

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Hola buenas, trasteando un poco me he topado con este caso.
    Tengo el sgte código:


    Código:
    unalista=["Jugador1","Jugador2","Jugador3","Jugador4","Jugador5"]
    
    respuesta = "y"
    
    while respuesta == "y" : 
        for variable in unalista :
            print(variable, end=" / ")
    
        respuesta = input("\n ¿Desea imprimir la lista otra vez?,y/n:")


    Al ejecutarlo, imprime lo sgte:

    Código:
    Jugador1 / Jugador2 / Jugador3 / Jugador4 / Jugador5 /



    La pregunta es: ¿Qué debo hacer para que no aparezca el último slash, el que va después de Jugador5?

    Gracias anticipadas.
    Última edición por elbuscador; 22/05/2020 a las 19:40

  6. #6

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Buenas, pega el código dentro de las etiquetas [code] así podemos verlo mejor, más en python que la indentación es vital.
    Es un programa pequeño pero podrías hacer una función para el menú, aunque cada uno tendrá su opinión, y lanzas esta función, en la que puedes definir con un elif lo que sucede con cada opción, en vez de usar una lista.

    Saludos
    "Azar es el nombre científico de la ignorancia."
    MUY IMPORTANTE Lee el REF Lee las normas|ESCANEOS Y MÁS ONLINE GRATUITOS|Protocolo de desinfección
    En este subforo hay una COMPARATIVA DE ANTIVIRUS Y CORTAFUEGOS, donde se discuten esos temas. Entra al CHAT

  7. #7
    Con domicilio en Noticias3d.com Avatar de Bakidok
    Mensajes
    6,416

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Seguramente python tenga alguna funcion "join" para listas donde indicarle el separador, algo así:

    numList = ['1', '2', '3', '4']
    separator = ', '
    print(separator.join(numList))
    PingStatus: Detecta cortes en tu conexión a Internet

    Intel Core i7-7700K@4.5Ghz | Corsair Hydro Series H115i Pro | MSI Z270 Gaming Pro Carbon | 32 GB DDR4 3000 MHz CL15 | Aorus GTX 1080 Ti Xtreme 11GB GDDR5X | Antec P100

  8. #8

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Hola Zagloj , gracias por tu respuesta aunque no entendí del todo a que te referías con lo del menú. Aunque, me diste la idea para hacer lo siguiente:

    Código:
    unalista=["Jugador1","Jugador2","Jugador3","Jugador4","Jugador5"]
    tamano=len(unalista)
     
    respuesta = "y"
    
    while respuesta == "y" : 
        for variable in unalista :
            indice=unalista.index(variable)
            if indice == tamano-1 :
                print(variable)
            else:    
                print(variable, end=" / ")
           
    
        respuesta = input("\n ¿Desea imprimir la lista otra vez?,y/n:")
    Seguramente se puede afinar lo que he hecho y dejarlo en muchas menos líneas. De momento con lo poco que sé, pude escribir esas líneas y por lo visto funciona. ¡Gracias!

    Y efectivamente Bakidok, existe en Python esa función, así que ya es algo nuevo que aprendo. ¡Gracias también!

    Lo que sí, jugando precisamente con el "join" , me he topado con lo siguiente:


    Código:
    unalista=["Jugador1","Jugador2","Jugador3","Jugador4","Jugador5"]
    
    medio = "-"
    respuesta = "y"
    
    while respuesta == "y" : 
        for variable in unalista :
            print(variable,end= print(medio.join(variable)))
    
        respuesta = input("\n ¿Desea imprimir la lista otra vez?,y/n:")
    Obteniendo lo siguiente:

    J-u-g-a-d-o-r-1
    Jugador1
    J-u-g-a-d-o-r-2
    Jugador2
    J-u-g-a-d-o-r-3
    Jugador3
    J-u-g-a-d-o-r-4
    Jugador4
    J-u-g-a-d-o-r-5
    Jugador5

    Mi pregunta es, ¿por qué se imprimen antes la palabra con las letras separadas?
    Con esta línea:
    print(variable,end= print(medio.join(variable)))

    ¿No se supone que primero debería imprimir la "variable" sin separaciones?

    Saludos.

  9. #9

    Predeterminado Re: Aprendiendo Python y necesito ayuda con lo siguiente:

    Buenas, el problema es que metes esa orden print dentro del print, igual deberías buscar otra manera, o intercambiar el orden, si lo haces ahí, primero devuelve la orden print y luego el resto.

    Saludos

    Pd Decía algo del estilo
    Código:
    def menu():
        opcion = 0
        while opcion != 'A' and opcion != 'B':
            print 'elige opcion'
            ...
            opcion = (raw_input('elige opcion: '))
        return opcion
    
    s = 0
    while s != 'loquesea':
        s = menu()
        if s == 'A':
            operaciones
            print 'resultado', equis
        elif s == 'quitar'
        print 'Gracias y adiós'
        f.close()
    Pd Pd Es más, te recomendaría probar más bien a, en vez de
    Código:
    print(variable,end= print(medio.join(variable)))
    Sacar primero medio.join(variable) a otra variable e imprimirla como tal, si quieres líneas separadas, puedes usar el \n de toda la vida también.
    Última edición por zagloj; 23/05/2020 a las 20:20
    "Azar es el nombre científico de la ignorancia."
    MUY IMPORTANTE Lee el REF Lee las normas|ESCANEOS Y MÁS ONLINE GRATUITOS|Protocolo de desinfección
    En este subforo hay una COMPARATIVA DE ANTIVIRUS Y CORTAFUEGOS, donde se discuten esos temas. Entra al CHAT

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •