Python - Ayuda con este problema porfavor Ciclos + while

 
Vista:

Ayuda con este problema porfavor Ciclos + while

Publicado por Eduardoxx92 (5 intervenciones) el 06/10/2016 03:34:31
Descripción:

Realizar un programa que imprima en pantalla un triángulo, un triángulo invertido, o un rombo

(dependiendo de la selección del usuario). El usuario decidirá el número de niveles que tendrá cada

elemento.

Entrada:

Una opción a elegir del menú y el número de niveles.

Salida:

Impresión del menú y de los resultados correspondientes.

Ejemplo (Salida del programa en negro, entrada del programa en verde):

***************************************************************

Bienvenido selecciona una de las siguientes opciones:

1. Imprimir triángulo.

2. Imprimir triángulo invertido.

3. Imprimir rombo.

4. Salir.

***************************************************************

1

*********

Ingresa el tamaño del triángulo

20

*

***

*****

*******

*********

***********

*************

***************

*****************

*******************

*********************

***********************

*************************

***************************

*****************************

*******************************

*********************************

***********************************

*************************************

***************************************

Reglas/restricciones:

*Reglas y restricciones a respetar para que el programa sea evaluado. De no seguirlas la calificación de

la actividad se multiplicará por .7

Debes usar 4 funciones diferentes, cada función deberá tener un comportamiento específico:

1. Una función deberá imprimir el menú en pantalla (esta función no recibe ningún parámetro).

2. Una función deberá imprimir el triángulo normal (esta función recibe 1 parámetro: el número de

niveles del triángulo).

3. Una función deberá imprimir el triángulo invertido (esta función recibe 1 parámetro: el número de

niveles del triángulo).

4. Una función deberá imprimir el rombo ( esta función recibe 1 parámetro: el número de niveles de

los triángulos que conforman el rombo. Considerando que un rombo está formado por un triángulo

normal y otro invertido, además de que ambos triángulos comparten 1 nivel al formar el rombo ).

Para imprimir los triángulos y el rombo debes usar ciclos (while).

Sin importar la opción elegida por el usuario el menú debe volver a imprimirse ( a menos que se seleccione

la opción “salir” ).

La opción salir debe terminar el programa. Para esto debes usar la instrucción “break” dentro del “if” que

evalúa la opción seleccionada por el usuario ( De ser necesario investiga su funcionamiento ).

Debes de usar la codificación adecuada para que tu programa imprima correctamente acentos y caracteres

especiales.

Prueba 1 (25 pts):

***************************************************************

Bienvenido selecciona una de las siguientes opciones:

1. Imprimir triángulo.

2. Imprimir triángulo invertido.

3. Imprimir rombo.

4. Salir.

***************************************************************

1

*********

Ingresa el tamaño del triángulo

20

*

***

*****

*******

*********

***********

*************

***************

*****************

*******************

*********************

***********************

*************************

***************************

*****************************

*******************************

*********************************

***********************************

*************************************

***************************************

Prueba 2 (25 pts):

***************************************************************

Bienvenido selecciona una de las siguientes opciones:

1. Imprimir triángulo.

2. Imprimir triángulo invertido.

3. Imprimir rombo.

4. Salir.

***************************************************************

2

*********

Ingresa el tamaño del triángulo

9

*****************

***************

*************

***********

*********

*******

*****

***

*

Prueba 3 (25 pts):

***************************************************************

Bienvenido selecciona una de las siguientes opciones:

1. Imprimir triángulo.

2. Imprimir triángulo invertido.

3. Imprimir rombo.

4. Salir.

***************************************************************

3

*********

Ingresa el tamaño de los triángulos del rombo (considera que tienen una línea

en común)

6

*

***

*****

*******

*********

***********

*********

*******

*****

***

*

Prueba 4 (25 pts):

***************************************************************

Bienvenido selecciona una de las siguientes opciones:

1. Imprimir triángulo.

2. Imprimir triángulo invertido.

3. Imprimir rombo.

4. Salir.

***************************************************************

4

¡Hasta pronto!
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

Ayuda con este problema porfavor Ciclos + while

Publicado por Fran (3 intervenciones) el 11/10/2016 14:27:29
En principio este código haría lo que pides:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
def menu():
    print("1. Imprimir triangulo")
    print("2. Imprimir triangulo invertido")
    print("3. Imprimir rombo")
    print("4. Salir")
    opcion = int(input("Introduce una opcion: "))
 
    while True:
 
        if (opcion == 1):
            nivel = int(input("Introduce el numero de niveles del triangulo: "))
 
            def triangulo(niveles):
                i = 1
                rombos = 1
 
                while i <= niveles:
                    print("*" * rombos)
                    i += 1
                    rombos +=2
                menu()
            triangulo(nivel)
 
 
        elif (opcion == 2):
            nivel = int(input("Introduce el numero de niveles del triangulo: "))
 
            def trianguloInvertido(niveles):
 
                while niveles >= 1:
                    rombos = ((niveles-1)*2) + 1
                    print("*" * rombos)
                    niveles -= 1
                menu()
            trianguloInvertido(nivel)
 
 
        elif (opcion == 3):
            nivel = int(input("Introduce el numero de niveles del rombo: "))
 
            def rombo(niveles):
                i = 1
                rombos = 1
 
                while i <= (niveles-1):
                    print("*" * rombos)
                    i += 1
                    rombos += 2
 
                while niveles >= 1:
                    rombos = ((niveles - 1) * 2) + 1
                    print("*" * rombos)
                    niveles -= 1
                menu()
            rombo(nivel)
 
 
        elif (opcion == 4):
            print("Salio del menu")
            break
 
 
        else:
            print("Se ha equivocado de opción, vuelva a elegir: ")
            menu()
 
 
        break
 
menu()
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