Skip to content

Commit 783b997

Browse files
committed
mod 7
1 parent 438e088 commit 783b997

File tree

3 files changed

+170
-3
lines changed

3 files changed

+170
-3
lines changed

.DS_Store

0 Bytes
Binary file not shown.

M07_funciones/Prep_Course_Homework_07-Resuelto.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
#!/usr/bin/env python
23
# coding: utf-8
34

@@ -208,3 +209,5 @@ def factorial(numero):
208209
print(factorial(1.23))
209210
print(factorial('6'))
210211

212+
213+
# %%

M07_funciones/Prep_Course_Homework_07.py

Lines changed: 167 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,102 @@
88
# In[1]:
99

1010

11+
def es_primo(numero):
1112

13+
primo = True
14+
for n in range(2,numero):
15+
if numero % n == 0:
16+
primo = False
17+
break
18+
return primo
19+
20+
es_primo(6)
21+
1222

1323

1424
# 2) Utilizando la función del punto 1, realizar otra función que reciba de parámetro una lista de números y devuelva sólo aquellos que son primos en otra lista
1525

1626
# In[25]:
27+
# def es_primo(numero):
28+
29+
# primo = True
30+
# for n in range(2,numero):
31+
# if numero % n == 0:
32+
# primo = False
33+
# print('No es primo')
34+
# break
35+
# return primo
1736

37+
def lista_de_numero(listacomoleta):
38+
lista_primos = []
39+
for i in listacomoleta:
40+
if es_primo(int(i)):
41+
lista_primos.append(i)
42+
return lista_primos
1843

44+
listacomoleta = [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]
1945

46+
lista_de_numero(listacomoleta)
2047

2148
# 3) Crear una función que al recibir una lista de números, devuelva el que más se repite y cuántas veces lo hace. Si hay más de un "más repetido", que devuelva cualquiera
2249

50+
2351
# In[33]:
2452

2553

54+
def cuenta_de_numeros_repetidos(lista):
55+
conteo_numeros = {}
56+
for num in lista:
57+
if num in conteo_numeros:
58+
conteo_numeros[num] +=1
59+
else:
60+
conteo_numeros[num] = 1
61+
mas_reptido = ''
62+
max_rep = 0
2663

64+
for num, repeticiones in conteo_numeros.items():
65+
if repeticiones > max_rep:
66+
mas_reptido = num
67+
max_rep = repeticiones
68+
return mas_reptido, max_rep
69+
70+
lista_num = [1,1,5,6,8,10,22,5,6,4,11,9,5]
71+
conteo = cuenta_de_numeros_repetidos(lista_num)
72+
print('el numero mas repetido es ', conteo[0], 'y se repite ', conteo[1], 'veces')
2773

2874

2975
# 4) A la función del punto 3, agregar un parámetro más, que permita elegir si se requiere el menor o el mayor de los mas repetidos.
3076

3177
# In[45]:
32-
78+
def cuenta_de_numeros_repetidos(lista, mayor = True):
79+
conteo_numeros = {}
80+
for num in lista:
81+
if num in conteo_numeros:
82+
conteo_numeros[num] +=1
83+
else:
84+
conteo_numeros[num] = 1
85+
mas_reptido = ''
86+
max_rep = 0
87+
88+
for num, repeticiones in conteo_numeros.items():
89+
if repeticiones > max_rep:
90+
mas_reptido = num
91+
max_rep = repeticiones
92+
elif repeticiones == max_rep:
93+
if mayor:
94+
if num > mas_repetido:
95+
mas_repetido = num
96+
else:
97+
if num < mas_repetido:
98+
mas_repetido = num
99+
100+
return mas_reptido, max_rep
101+
102+
lista_num = [1,1,5,6,8,10,22,5,6,4,11,9,5,1,1,1,2]
103+
conteo = cuenta_de_numeros_repetidos(lista_num, True)
104+
print('el numero mas repetido es ', conteo[0], 'y se repite ', conteo[1], 'veces')
105+
conteo = cuenta_de_numeros_repetidos(lista_num, False)
106+
print('el numero menor mas repetido es ', conteo[0], 'y se repite ', conteo[1], 'veces')
33107

34108

35109
# 5) Crear una función que convierta entre grados Celsius, Farenheit y Kelvin<br>
@@ -40,19 +114,109 @@
40114

41115
# In[56]:
42116

117+
def convert_grados (unidad, grados_origen , grados_final):
118+
if grados_origen == 'celsius':
119+
if grados_final == 'celsius':
120+
grados_convert = unidad
121+
elif grados_final == 'farenheit':
122+
grados_convert = (unidad * 9/5) + 32
123+
elif grados_final == 'kelvin':
124+
grados_convert == (unidad + 273,15)
125+
else:
126+
print( 'parametro incorrecto')
127+
elif grados_origen == 'farenheit':
128+
if grados_final == 'farenheit':
129+
grados_convert = unidad
130+
elif grados_final == 'celsius':
131+
grados_convert = (unidad - 32 ) * 5/9
132+
elif grados_final == 'kelvin':
133+
grados_convert == (unidad -32 )* 5/9 + 273,15
134+
else:
135+
print( 'parametro incorrecto')
136+
elif grados_origen == 'kelvin':
137+
if grados_final == 'kelvin':
138+
grados_convert = unidad
139+
elif grados_final == 'celsius':
140+
grados_convert = (unidad - 273,15 )
141+
elif grados_final == 'farenheit':
142+
grados_convert == (unidad - 273,15) * 9/5 +32
143+
else:
144+
print( 'parametro incorrecto')
145+
else:
146+
print('ingrese variable correcta ')
147+
148+
return grados_convert
149+
150+
151+
convertidor_caf = convert_grados(100, 'celsius', 'farenheit')
152+
153+
print ('Celsius a Farenheit es : ', convertidor_caf)
154+
43155

44156

45157
# 6) Iterando una lista con los tres valores posibles de temperatura que recibe la función del punto 5, hacer un print para cada combinación de los mismos:
46158

47159
# In[62]:
48-
49-
160+
def convert_grados (unidad, grados_origen , grados_final):
161+
if grados_origen == 'celsius':
162+
if grados_final == 'celsius':
163+
grados_convert = unidad
164+
elif grados_final == 'farenheit':
165+
grados_convert = (unidad * 9/5) + 32
166+
elif grados_final == 'kelvin':
167+
grados_convert = unidad + 273.15
168+
else:
169+
print( 'parametro incorrecto')
170+
elif grados_origen == 'farenheit':
171+
if grados_final == 'farenheit':
172+
grados_convert = unidad
173+
elif grados_final == 'celsius':
174+
grados_convert = (unidad - 32 ) * 5/9
175+
elif grados_final == 'kelvin':
176+
grados_convert = ((unidad -32 )* 5/9) + 273.15
177+
else:
178+
print( 'parametro incorrecto')
179+
elif grados_origen == 'kelvin':
180+
if grados_final == 'kelvin':
181+
grados_convert = unidad
182+
elif grados_final == 'celsius':
183+
grados_convert = (unidad - 273.15 )
184+
elif grados_final == 'farenheit':
185+
grados_convert = ((unidad - 273.15) * 9/5) +32
186+
else:
187+
print( 'parametro incorrecto')
188+
else:
189+
print('ingrese variable correcta ')
190+
191+
return grados_convert
192+
193+
unidades_tem = ['celsius', 'farenheit','kelvin']
194+
195+
for i in range(0,3):
196+
for j in range(0,3):
197+
#print(i, j)
198+
print('por cada grado de ', unidades_tem[i], 'equivale a ', unidades_tem[j], convert_grados(1,unidades_tem[i], unidades_tem[j]))
50199

51200

52201
# 7) Armar una función que devuelva el factorial de un número. Tener en cuenta que el usuario puede equivocarse y enviar de parámetro un número no entero o negativo
53202

54203
# In[65]:
55204

56205

206+
def num_fact(numero):
207+
if (type(numero) != int):
208+
return 'ingresa un numero entero'
209+
if (numero < 0):
210+
return 'ingresa un numero positivo'
211+
if (numero > 1):
212+
numero = numero * num_fact(numero - 1)
213+
return numero
214+
57215

216+
print(num_fact(3))
217+
print(num_fact(-2))
218+
print(num_fact(1.2))
219+
print(num_fact(23))
220+
print(num_fact('d'))
58221

222+
# %%

0 commit comments

Comments
 (0)