Python - FORMATOR

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 21 puestos en Python (en relación al último mes)
Gráfica de Python

FORMATOR

Publicado por Sara (2 intervenciones) el 11/11/2020 21:30:02
formato-ejemplo1

Hola, debo hacer un formato que imprima como en el ejemplo, pero me esta imprimiendo por letras y no por palabras.

1
2
3
4
5
6
7
8
9
10
11
12
cadena = list(input())
largo = int(input())
cad = ""
print(" " + "*" * largo + " ")
c = 0
for elemento in range(len(cadena)):
    cad = cad + cadena[elemento]
    if len(cad) == largo:
        print("|" + cad + " " * (largo - len(cad)) + "|")
        cad = ""
print("|"+cad+" "*(largo-len(cad))+"|")
print(" " + "*" * largo + " ")
formato-codigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

FORMATOR

Publicado por tincopasan (1082 intervenciones) el 12/11/2020 05:43:55
partamos de la base que faltan datos, como por ejemplo si es obligatorio hacerlo como lo estás haciendo.
python trae una biblioteca que te ayuda para esto:
1
2
3
4
5
6
7
8
9
10
11
12
import textwrap
 
cadena="""En Sumatra, alguien quiere doctorarse de adivino.
El brujo examinador le pregunta si será reprobado o si pasará.
El candidato responde que será reprobado.
"""
largo= int(input("Largo: ")) #para tu ejemplo es 20
resultado=textwrap.wrap(cadena,largo)
print(" ","*"*largo," ")
for x in resultado:
    print("|",x," "* (largo-len(x)),"|")
print(" ","*"*largo," ")
con respecto alo que estás haciendo es:
1
cadena = list(input())
con esto haces una lista con cada letra.
por lo tanto para que te de una palabra debes usar join().
no quiero modificar tu código, salvo que sea estrcitamente necesario, porque no me gusta pereder tiempo cuando ya hay funciones hechas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar