-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheuler_pi_ec2.py
More file actions
114 lines (103 loc) · 4.02 KB
/
Copy patheuler_pi_ec2.py
File metadata and controls
114 lines (103 loc) · 4.02 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Ejercicio de Python. Números PI y Euler. Ecuación de segundo grado.
# Alumno: Fran Gálvez. 2º ASIR.
import os, sys, math
from modules import menu, operaciones, varios
def eulerLeibniz():
os.system("cls")
print("1. Calcular el número e mediante las series de Leibniz.")
input("\n\tPulse intro para calcular...")
cont = 1
e = 0
while cont < 10000:
e = (1 + 1/cont)**cont
cont += 1
print("\n\tEl valor aproximado del número e es " + str(e) + ".")
varios.pausar()
# Este ejercicio me da un resultado que parece ser erróneo.
# He aplicado la fórmula proporcionada en clase.
def eulerFactorial():
os.system("cls")
print("2. Calcular el número e mediante factoriales.")
input("\n\tPulse intro para calcular...")
cont = 1
e = 0
while cont <= 10:
e += 1 / operaciones.factorial(cont)
cont += 1
print("\n\tEl valor aproximado del número e es " + str(e) + ".")
varios.pausar()
def piSumatorio():
os.system("cls")
print("\n\t3. Calcular el número Pi.")
input("\n\tPulsa intro para calcular...")
cont = 0
pi = 0
while cont < 100000:
pi += ((-1)**cont)/(2 * cont + 1)
cont += 1
print("\n\tEl valor aproximado del número Pi es " + str(4*pi) + ".")
varios.pausar()
def ecuacionSegundoGrado():
while True:
os.system("cls")
print("4. Calcular las soluciones de una ecuación de segundo grado.")
try:
a = int(input("\n\tIntroduce el primer término: "))
b = int(input("\n\tIntroduce el segundo término: "))
c = int(input("\n\tIntroduce el tercer término: "))
except ValueError:
print("\n\tError: introduce números enteros.")
continue
else:
if c < 0:
ecuacion = str(a) + "x^2 + " + str(b) + "x " + str(c) + " = 0"
else:
ecuacion = str(a) + "x^2 + " + str(b) + "x + " + str(c) + " = 0"
discriminante = b*b - 4*a*c
if discriminante < 0:
print("\n\tLa ecuación " + ecuacion + " tiene soluciones complejas.")
elif discriminante == 0:
x = (-b + math.sqrt(discriminante))/(2*a)
print("\n\tLa ecuación " + ecuacion + " tiene solución única: \n\tx = " + str(x))
elif discriminante > 0:
x1 = (-b + math.sqrt(discriminante))/(2*a)
x2 = (-b - math.sqrt(discriminante))/(2*a)
print("\n\tLa ecuación " + ecuacion + " tiene dos soluciones: \n\t\tx1 = " + str(x1) + "\n\t\tx2 = " + str(x2))
varios.pausar()
return
def main():
while True:
try:
os.system("cls")
print("Ejercicios de Python. Números Pi y Euler.")
print("-----------------------------------------\n")
menu_items = [
"0. Salir.",
"1. Calcular el número e mediante las series de Leibniz.",
"2. Calcular el número e mediante factoriales.",
"3. Calcular el número Pi.",
"4. Calcular ecuación segundo grado."
]
menu.imprimirMenu(menu_items)
opcion = int(input("\n\tEscoge una opción: "))
except ValueError:
print("\n\tError: introduce un número.")
varios.pausar()
else:
if opcion not in range(0, 5):
print("\n\tError: introduce un número entre 0 y 3.")
continue
else:
if opcion == 0:
os.system("cls")
sys.exit()
elif opcion == 1:
eulerLeibniz()
elif opcion == 2:
eulerFactorial()
elif opcion == 3:
piSumatorio()
elif opcion == 4:
ecuacionSegundoGrado()
if __name__ == "__main__":
main()