0% encontró este documento útil (0 votos)
47 vistas5 páginas

Ejercicios Arrays

Este documento presenta varios programas en Python para manipular y analizar arrays (listas) y cadenas. Incluye programas para calcular estadísticas sobre alturas de personas, calcular promedios de números en posiciones pares de un array, llenar arrays con valores de entrada y aleatorios, y extraer caracteres de una cadena basada en posiciones de array introducidas por el usuario. También incluye un programa para calcular la letra de un número de identificación nacional español.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas5 páginas

Ejercicios Arrays

Este documento presenta varios programas en Python para manipular y analizar arrays (listas) y cadenas. Incluye programas para calcular estadísticas sobre alturas de personas, calcular promedios de números en posiciones pares de un array, llenar arrays con valores de entrada y aleatorios, y extraer caracteres de una cadena basada en posiciones de array introducidas por el usuario. También incluye un programa para calcular la letra de un número de identificación nacional español.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

1.

Programa Python para leer la altura de N personas y calcular la altura


media. Calcular cuántas personas tienen una altura superior a la media
y cuántas tienen una altura inferior a la media. El valor de N se pide por
teclado y debe ser entero positivo.

while True:

try:

N = int(input("Ingrese el número de personas: "))

if N > 0:

break

else:

print("Por favor, ingrese un número entero positivo.")

except ValueError:

print("Por favor, ingrese un número válido.")

alturas = []

for i in range(N):

altura = float(input(f"Ingrese la altura de la persona {i + 1} (en centímetros): "))

alturas.append(altura)

altura_media = sum(alturas) / N

personas_superior_media = sum(1 for altura in alturas if altura > altura_media)

personas_inferior_media = N - personas_superior_media

print(f"Altura media: {altura_media:.2f} centímetros")

print(f"Personas con altura superior a la media: {personas_superior_media}")

print(f"Personas con altura inferior a la media: {personas_inferior_media}")


2. Programa Python que lea n números enteros y los guarde en un array.
Calcula y muestra la media de los números que estén en las posiciones
pares del array.
Considera la primera posición del array (posición 0) como par.

n = int(input("Ingrese el número de elementos: "))

numeros = []

for i in range(n):

numero = int(input(f"Ingrese el número {i + 1}: "))

numeros.append(numero)

numeros_pares = [numeros[i] for i in range(len(numeros)) if i % 2 == 0]

if len(numeros_pares) > 0:

media_pares = sum(numeros_pares) / len(numeros_pares)

else:

media_pares = 0

print(f"Los números en posiciones pares del array son: {numeros_pares}")

print(f"La media de los números en posiciones pares es: {media_pares}")

3. Crea un array de 10 posiciones de números con valores pedidos por teclado. Muestra
por consola el indice y el valor al que corresponde

numeros = [0] * 10

for i in range(10):

valor = float(input(f"Ingrese el valor para la posición {i}: "))

numeros[i] = valor

for i, valor in enumerate(numeros):


print(f"Índice {i}: {valor}")

4. Lea un array de números donde le indicamos por teclado el tamaño del array,
rellenaremos el array con números aleatorios entre 0 y 9, al final muestra por pantalla el
valor de cada posición y la suma de todos los valores.

import random

tamaño = int(input("Ingrese el tamaño del array: "))

numeros = []

for _ in range(tamaño):

numero_aleatorio = random.randint(0, 9)

numeros.append(numero_aleatorio)

print("Valores del array:")

for i, valor in enumerate(numeros):

print(f"Posición {i}: {valor}")

suma_total = sum(numeros)

print(f"Suma total de los valores: {suma_total}")

5. Crea un array de caracteres que contenga de la ‘A’ a la ‘Z’ (solo las mayúsculas).
Después, ve pidiendo posiciones del array por teclado y si la posición es correcta, se
añadirá a una cadena que se mostrara al final, se dejará de insertar cuando se introduzca
un -1.

Por ejemplo, si escribo los siguientes números


0 //Añadira la ‘A’
5 //Añadira la ‘F’
25 //Añadira la ‘Z’
50 //Error, inserte otro numero
-1 //fin

Cadena resultante: AFZ

letras = [chr(ord('A') + i) for i in range(26)]

cadena_resultante = ""
while True:
posicion = int(input("Ingrese una posición del array (0-25) o -1 para terminar: "))

if posicion == -1:
break
elif 0 <= posicion <= 25:
letra = letras[posicion]
cadena_resultante += letra
else:
print("Error, inserte otro número válido (0-25).")
print("Cadena resultante:", cadena_resultante)

6. Pide al usuario por teclado una frase y pasa sus caracteres a un array de caracteres

frase = input("Ingrese una frase: ")

array_de_caracteres = list(frase)

print("Array de caracteres:", array_de_caracteres)

7. Calcula la letra de un DNI, pediremos el DNI por teclado y nos devolverá el DNI completo.

Para calcular la letra, cogeremos el resto de dividir nuestro dni entre 23, el resultado debe
estar entre 0 y 22. Haz un método donde según el resultado de la anterior formula busque
en un array de caracteres la posición que corresponda a la letra. Esta es la tabla de
caracteres:
POSICION LETRA
0 T
1 R
2 W
3 A
4 G
5 M
6 Y
7 F
8 P
9 D
10 X
11 B
12 N
13 J
14 Z
15 S
16 Q
17 V
18 H
19 L
20 C
21 K
22 E

Por ejemplo, si introduzco 70588387, el resultado será de 7 que corresponde a ‘F’.

def calcular_letra_DNI(numero):
tabla_letras = "TRWAGMYFPDXBNJZSQVHLCKE"
resto = numero % 23
letra = tabla_letras[resto]
return letra
def obtener_numero_correspondiente(letra):
tabla_letras = "TRWAGMYFPDXBNJZSQVHLCKE"
numero_correspondiente = tabla_letras.index(letra)
return numero_correspondiente
numero_DNI = int(input("Ingrese el número del DNI (sin letra): "))
letra_DNI = calcular_letra_DNI(numero_DNI)
print("Letra del DNI:", letra_DNI)
print("Número del DNI:", numero_DNI)
numero_correspondiente = obtener_numero_correspondiente(letra_DNI)
print(f"La letra '{letra_DNI}' corresponde al número: {numero_correspondiente}")

También podría gustarte