es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo escribir las palabras una debajo de la otra

Cuando ingreso este código, parece así:

<p><a href="https://i.stack.imgur.com/hQFR2.jpg">Código</a></p>

<p>Pero debería ser palabra por palabra para cada línea, no letra por letra. No puedo resolverlo, así que aquí está mi código:</p>

<p>```python
siir = "Karşında ziya yoksa, sağından ya solundan. Tek bir ışık olsun buluver, kalma yolundan."

print(*siir[0:len(siir)], sep="\n")

“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El código en cuestión toma una variable de tipo cadena siir que contiene un poema turco y imprime cada caracter de esta cadena en una nueva línea usando la función print() en Python. El código parece funcionar bien, pero la salida no es lo que el usuario espera. En lugar de imprimir el poema palabra por palabra, el código imprime cada letra del poema en una nueva línea.

    El problema con el código es que el parámetro sep de la función print() ha sido establecido como "\n", lo cual le indica a Python que separe cada caracter con una nueva línea. Esto provoca que la salida se imprima letra por letra en lugar de palabra por palabra.

    Para corregir el código, el usuario debe cambiar el parámetro sep por un carácter de espacio " ", lo cual separará cada palabra con un espacio en lugar de una nueva línea. El código actualizado debería lucir así:

    siir = "Karşında ziya yoksa, sağından ya solundan. Tek bir ışık olsun buluver, kalma yolundan."
    
    print(*siir.split(), sep=" ")
    

    El método split() se utiliza para dividir la cadena en una lista de palabras, las cuales luego pueden ser impresas con un espacio entre ellas utilizando el parámetro sep. El * antes de siir.split() se utiliza para desempaquetar la lista de palabras, de manera que cada palabra es tratada como un argumento separado para la función print().

Comments are closed.