forked from mouredev/Hello-Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path02_challenges.py
115 lines (82 loc) · 2.62 KB
/
02_challenges.py
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
115
# Clase en vídeo: https://youtu.be/TbcEqkabAWU?t=4142
### Challenges ###
"""
EL FAMOSO "FIZZ BUZZ”:
Escribe un programa que muestre por consola (con un print) los
números de 1 a 100 (ambos incluidos y con un salto de línea entre
cada impresión), sustituyendo los siguientes:
- Múltiplos de 3 por la palabra "fizz".
- Múltiplos de 5 por la palabra "buzz".
- Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
"""
def fizzbuzz():
for index in range(1, 101):
if index % 3 == 0 and index % 5 == 0:
print("fizzbuz")
elif index % 3 == 0:
print("fizz")
elif index % 5 == 0:
print("buzz")
else:
print(index)
fizzbuzz()
"""
¿ES UN ANAGRAMA?
Escribe una función que reciba dos palabras (String) y retorne
verdadero o falso (Bool) según sean o no anagramas.
- Un Anagrama consiste en formar una palabra reordenando TODAS
las letras de otra palabra inicial.
- NO hace falta comprobar que ambas palabras existan.
- Dos palabras exactamente iguales no son anagrama.
"""
def is_anagram(word_one, word_two):
if word_one.lower() == word_two.lower():
return False
return sorted(word_one.lower()) == sorted(word_two.lower())
print(is_anagram("Amor", "Roma"))
"""
LA SUCESIÓN DE FIBONACCI
Escribe un programa que imprima los 50 primeros números de la sucesión
de Fibonacci empezando en 0.
- La serie Fibonacci se compone por una sucesión de números en
la que el siguiente siempre es la suma de los dos anteriores.
0, 1, 1, 2, 3, 5, 8, 13...
"""
def fibonacci():
prev = 0
next = 1
for index in range(0, 50):
print(prev)
fib = prev + next
prev = next
next = fib
fibonacci()
"""
¿ES UN NÚMERO PRIMO?
Escribe un programa que se encargue de comprobar si un número es o no primo.
Hecho esto, imprime los números primos entre 1 y 100.
"""
def is_prime():
for number in range(1, 101):
if number >= 2:
is_divisible = False
for index in range(2, number):
if number % index == 0:
is_divisible = True
break
if not is_divisible:
print(number)
is_prime()
"""
INVIRTIENDO CADENAS
Crea un programa que invierta el orden de una cadena de texto
sin usar funciones propias del lenguaje que lo hagan de forma automática.
- Si le pasamos "Hola mundo" nos retornaría "odnum aloH"
"""
def reverse(text):
text_len = len(text)
reversed_text = ""
for index in range(0, text_len):
reversed_text += text[text_len - index - 1]
return reversed_text
print(reverse("Hola mundo"))