9. Ejercicios

9.1. E1

¿Con que valores teminan x y y?

x = 5 + 2 - 3 * 2
x = x + 2
y = 'Ciencias'
x = x + len(y)
a = x
x = y
y = a

Resultado

x = “Ciencias”

y = 11

9.2. E2

La siguiente función regresa True si n es par y False si es impar

def espar(n):
    return n % 2 == 0


if __name__ == '__main__':
    number = input()
    print(espar(int(number)))

Escriba una función esimpar que reciba un entero y regrese True si es impar y False en otro caso.

Resultado

def esimpar(n):
    return n % 2 != 0


if __name__ == '__main__':
    number = input()
    print(esimpar(int(number)))

9.3. E3

Si el siguiente programa recibe como entrada el número 11, ¿cual es la salida?

user_str = input('Escribe un entero positivo: ')
my_int = int(user_str)
count = 0

while my_int > 0:
    if my_int % 2 == 1:
        my_int = my_int // 2
    else:
        my_int = my_int - 1
    count = count + 1

print(count)
print(my_int)

Resultado

4

0

9.4. E4

Escriba un programa que le pida al usuario 6 palabras y genere una lista con las palabras de longitud par y otra con las de longitud impar.

def espar(n):
    return n % 2 == 0


if __name__ == '__main__':
    i = 0
    palabras = []
    while i < 6:
        palabra = input('Escribe una palabra: ')
        i = i + 1

    pares = []
    impares = []
    for palabra in palabras:
        if espar(len(palabra)):
            pares.append(palabra)
        else:
            impares.append(palabra)
    print('Palabras pares: ', pares)
    print('Palabras impares: ', impares)

Resultado

No se esta guardando la entrada del usuario. La linea 11 corrige esto.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def espar(n):
    return n % 2 == 0


if __name__ == '__main__':
    i = 0
    palabras = []
    while i < 6:
        palabra = input('Escribe una palabra: ')
        i = i + 1
        palabras.append(palabra)

    pares = []
    impares = []
    for palabra in palabras:
        if espar(len(palabra)):
            pares.append(palabra)
        else:
            impares.append(palabra)
    print('Palabras pares: ', pares)
    print('Palabras impares: ', impares)

9.5. E5

Sea \(l\) una lista de Nombres, escribe un programa que genere un diccionario donde \(k_i\) es una llave si hay una cadena en \(l\) que comience con esa letra y el valor de \(k_i\) en el diccionario sea una lista de las cadenas que empiezan con esta letra.

# Entrada
l = ['Adriana', 'Mónica', 'Jose', 'Arturo', 'Juan', 'Javier']

# Salida
{'A': ['Adriana', 'Arturo'], 'M': ['Mónica'], 'J': ['Jose', 'Javier', 'Juan']}

Resultado

1
2
3
4
5
6
7
8
l = ['Adriana', 'Mónica', 'Jose', 'Arturo', 'Juan', 'Javier']
d = {}
for nombre in l:
    if nombre[0] in d:
        d[nombre[0]].append(nombre)
    else:
        d[nombre[0]] = [nombre]
print(d)