Python - Necesito ayuda con problema de progamación

 
Vista:
sin imagen de perfil

Necesito ayuda con problema de progamación

Publicado por Juan Ramón (5 intervenciones) el 20/12/2016 17:47:40
¡Buenas! veréis tengo un problema al realizar este ejercicio de programación. He escrito ya algo de código pero no consigo avanzar.

Problema-progamacion-10

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
menu = ["1.Calcular el cuadrado de un número",
 
        "2.Calcular la raíz cuadrada de un número",
 
        "3.Decir si un número es primo o no",
 
        "4.Salir del progama"]
 
print (menu[0]); print (menu[1]); print (menu[2]); print (menu[3])
 
 
accion = input("Introduce un número para elegir una opción")
accion = int(accion)
 
 
if accion == 1:
    numero = input("Escribe el numero que quieras elevar al cuadrado")
    numero = int(numero)
    print("El numero al cuadrado es", numero * numero, sep=" ")
 
elif accion == 2:
    import math
    numero = input("Introduce un número para hallar la raíz cuadrada")
    numero = int(numero)
    raiz = math.sqrt(numero)
    print ("La raiz es: "+ str(raiz))
 
elif accion == 3:
    a = 0
    numero = input("Introduce un número para comprobar si es primo")
    numero = int(numero)
    for i in range(1,numero+1):
        if(numero % i==0):
            a=a+1
    if(a!=2):
        print("No es primo")
    else:
        print("Es primo")
 
elif accion == 4:
    print("fin del progama")

Os agradecería vuestra ayuda, muchas gracias!
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

Necesito ayuda con problema de progamación

Publicado por Juan Ramón (5 intervenciones) el 20/12/2016 18:21:00
Vale, ya lo he conseguido jajajajajaja

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
menu = ["1.Calcular el cuadrado de un número",
 
        "2.Calcular la raíz cuadrada de un número",
 
        "3.Decir si un número es primo o no",
 
        "4.Salir del progama"]
 
print (menu[0]); print (menu[1]); print (menu[2]); print (menu[3]); print ("---------------")
 
 
accion = input("Introduce un número para elegir una opción:")
accion = int(accion)
 
if accion > 4:
    print ("---------------") ; print ("Elige un número válido") ; print ("---------------")
elif accion < 0:
    print ("---------------") ; print ("Elige un número válido") ; print ("---------------")
 
 
if accion == 1:
    numero = input("Escribe el numero que quieras elevar al cuadrado")
    numero = int(numero)
    print ("---------------")
    print("El numero al cuadrado es", numero * numero, sep=" ")
    print ("---------------")
 
elif accion == 2:
    import math
    numero = input("Introduce un número para hallar la raíz cuadrada")
    numero = int(numero)
    raiz = math.sqrt(numero)
    print ("---------------") ; print ("La raiz es: "+ str(raiz)) ;  print ("---------------")
 
elif accion == 3:
    a = 0
    numero = input("Introduce un número para comprobar si es primo")
    numero = int(numero)
    for i in range(1,numero+1):
        if(numero % i==0):
            a=a+1
    if(a!=2):
        print ("---------------") ; print("No es primo") ; print ("---------------")
    else:
        print ("---------------") ; print("Es primo") ; print ("---------------")
 
 
elif accion == 4:
    print("fin del progama")
 
while accion != 4:
    print (menu[0]); print (menu[1]); print (menu[2]); print (menu[3]); print ("---------------")
    accion = input("Introduce un número para elegir una opción")
    accion = int(accion)
 
    if accion > 4:
        print ("---------------") ; print ("Elige un número válido") ; print ("---------------")
    elif accion < 0:
        print ("---------------") ; print ("Elige un número válido") ; print ("---------------")
 
    if accion == 1:
        numero = input("Escribe el numero que quieras elevar al cuadrado")
        numero = int(numero)
        print ("---------------") ; print("El numero al cuadrado es", numero * numero, sep=" ") ; print ("---------------")
 
    elif accion == 2:
        import math
        numero = input("Introduce un número para hallar la raíz cuadrada")
        numero = int(numero)
        raiz = math.sqrt(numero)
        print ("---------------") ; print ("La raiz es: "+ str(raiz)) ;  print ("---------------")
 
    elif accion == 3:
        a = 0
        numero = input("Introduce un número para comprobar si es primo")
        numero = int(numero)
        for i in range(1,numero+1):
            if(numero % i==0):
                a=a+1
        if(a!=2):
            print ("---------------") ; print("No es primo") ; print ("---------------")
        else:
            print ("---------------") ; print("Es primo") ; print ("---------------")
 
 
    elif accion == 4:
        print ("---------------") ; print("fin del progama") ; print ("---------------")

¿Alguna sugerencia que mejorar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Necesito ayuda con problema de progamación

Publicado por xve (1646 intervenciones) el 20/12/2016 20:06:16
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
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

Necesito ayuda con problema de progamación

Publicado por tincopasan (1082 intervenciones) el 21/12/2016 03:42:10
usando tu código lo hago de otra forma:
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
#-*- coding:utf-8 -*-
import sys,os,math
class Operaciones:
    def __init__(self):
        self.elecciones= {
        "1":self.cuadrado,
        "2":self.raiz,
        "3":self.primo,
        "4":self.salir
         }
 
    def mostrar_menu(self):
        print("""\n  Menú
        [1] Calcular el cuadrado de un número
        [2] Calcular la raíz cuadrada de un número
        [3] Decir si un número es primo o no
        [4] Salir
        """)
 
    def ejecutar(self):
        while True:
            self.mostrar_menu()
            eleccion= input("Elije una opción: ")
            accion = self.elecciones.get(eleccion)
            if accion:
                accion()
            else:
                print("\n{} no es una elección válida".format(eleccion))
 
    def cuadrado(self):
        os.system("cls")
        numero = int(input("Escribe el número que quieras elevar al cuadrado: "))
        print ("-"*30)
        print("El numero al cuadrado es: ", numero * numero, sep=" ")
        print ("-"*30)
 
    def raiz(self):
        os.system("cls")
        numero = int(input("Introduce un número para hallar la raíz cuadrada: "))
        raiz = math.sqrt(numero)
        print ("-"*20) ; print ("La raiz es: "+ str(raiz)) ;  print ("-"*20)
 
 
    def primo(self):
        os.system("cls")
        a = 0
        numero = input("Introduce un número para comprobar si es primo: ")
        numero = int(numero)
        for i in range(1,numero+1):
            if(numero % i==0):
                a=a+1
        if(a!=2):
            print ("-"*12) ; print("No es primo") ; print ("-"*12)
        else:
            print ("-"*10) ; print("Es primo") ; print ("-"*10)
 
 
    def salir(self):
        os.system("cls")
        msg=" Programa terminado "
        print(msg.center(28,"*"))
        os.system("pause")
        sys.exit(0)
 
inicio=Operaciones()
inicio.ejecutar()
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

Necesito ayuda con problema de progamación

Publicado por dario (57 intervenciones) el 26/12/2016 18:33:05
Otra forma

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
from math import sqrt
 
def es_primo(num):
    c = 0
    for i in range(1,num+1):
        if num % i == 0:
            c += 1
    if c == 2:
        return True
    else:
        return False
 
def pedir_numero():
    n = int(input('\nIngrese un numero:'))
    return n
 
while True:
    print('1. Calcular el cuadrado de un numero')
    print('2. Calcular la raiz cuadrada de un numero')
    print('3. Decir si un numero es primo o no')
    print('4. Salir del programa\n')
    opc = int(input('Seleccione opcion:'))
 
    if opc == 1:
        l = pedir_numero()**2
        print('el cuadrado es %d' %l)
    elif opc == 2:
        r = sqrt(pedir_numero())
        print('La raiz cuadrada es %.2f' %r)
    elif opc == 3:
        x = pedir_numero()
        if es_primo(x):
            print('Es primo')
        else:
            print('No es primo')
    elif opc == 4:
        break
    else:
        continue
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