Python - Python. Pirámide con operación matemática

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

Python. Pirámide con operación matemática

Publicado por David (9 intervenciones) el 01/05/2020 17:06:00
Hola,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
''' Quiero diseñar una pirámide simétrica que el primer valor de cada nivel (row) sea el modulo de row (row%10). Dentro de cada fila, deseo que el siguiente número aumente según (row+1)%10 hasta llegar al eje pirámide. A partir del eje, quiero la operación contraria para decrecer.
El problema es que el eje de la pirámide tiene que ser siempre 1,3,5,7,9,1,3,5,7,9 y no soy capaz de crearlo con una definición de un rango...
Output deseado (ejemplo para una pirámide de 7 filas.
         1
        232
       34543
      4567654
     567898765
    67890109876
   7890123210987
  890123454321098
 90123456765432109
 '''


1
2
3
4
5
6
7
8
num = int(input())
for i in range(1, num+1):
    for j in range(1,num-i+1):
        print(" ", end="")
    for j in range(i%10,0,(i+1)%10):
        print(j, end="")
    for j in range(2,i+1):
        print(j, end=' ')

En la fórmula que adjunto, en el segundo for j in range he puesto que llege hasta 0 pero no es así porqué quiero que se respete la secuencia 1,3,5,7,9 que se repite en infinito que os he comentado antes en los comentarios al código Python.

Gracias por vuestros consejos/ayuda,

David.
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: 388
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Python. Pirámide con operación matemática

Publicado por Daniel (111 intervenciones) el 01/05/2020 19:17:48
Hola,

¿Esto es lo que se pedia?

1
2
3
4
5
6
7
8
9
10
max_dep = 9
 
for i in range(max_dep):
    serie = ""
    for j in range(i):
        serie += str((i + j + 1) % 10)
 
    serie = serie +str((2 * i % 10) + 1) + serie[::-1]
 
    print((max_dep - i) * " " + serie)

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

Python. Pirámide con operación matemática

Publicado por David (9 intervenciones) el 01/05/2020 20:03:55
Sí muchas gracias!!!
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