ASIX-M3-UF1-A4.2- Solucions Exercicis llistes

De wikiserver
Dreceres ràpides: navegació, cerca

A4.2 Exercicis Llistes

1. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, la mostri per pantalla.

print("Programa mòduls 1r d'ASIX")
print("-------------------------")

# Constant
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Recórrer la llista i mostrar cada mòdul
for modul in MODULS :
    print(modul)


2. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i ens digui quants mòduls ha aprovat, ha suspès o té convalidats.

print("Programa mòduls aprovats, suspesos i convalidats de 1r d'ASIX \n")

# Constant
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Inicialitzar variables
aprovats = 0
suspesos = 0
convalidats = 0

# Recórrer la llista i demanar cada nota
for modul in MODULS :
    nota = input("Nota de %s: " %modul)
    if nota == "convalidat":
       convalidats += 1
    elif int(nota) >= 5 :
       aprovats += 1
    else :
       suspesos += 1

# Mostrar el resultat

print("Aprovats: ", aprovats)
print("Suspesos: ", suspesos)
print("convalidats: ", convalidats)


3. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i elimini de la llista els aprovats i convalidats i mostri els mòduls pendents d'aprovar.

print("Programa mòduls pendents de 1r d'ASIX \n")

# Inicialitzar moduls
moduls = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Inicialitzar variables
aprovats = []

# Recórrer la llista i demanar cada nota
for modul in moduls :
    nota = input("Nota de %s: " %modul)
    if nota == "convalidat" or int(nota) >= 5 :
       aprovats.append(modul)

# Treure els mòduls aprovats
for modul in aprovats :
    moduls.remove(modul)

# Mostrar els mòduls pendents
print("Mòduls pendents: "+ str(moduls))


4. Feu un programa que donades dues llistes inicialitzades amb els valors [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1], posi a una tercera llista, per a cada posició, la suma dels elements de les altres llistes.

# Inicialitzar les llistes
llista1 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
llista2 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Declarar la llista resultat
resultat = []

# Recórrer les llistes
for i in range(len(llista1)):

    # suma de cada posició de les dues llistes
    resultat.append(llista1[i] + llista2[i])

# Mostrar la llista amb el resultat
print(resultat)


5. Fes un programa que donada una llista de números ja inicialitzada, la recorri amb un for i quan surti del for imprimeixi el valor més petit de la taula.

# Inicialitzar la llista
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Inicialitzar més petit
mesPetit = llista_num[0]

# Recórrer la llista
for numActual in llista_num :

    # En cas que el número actual sigui més petit s'actualtiza mesPetit 
    if numActual < mesPetit :
       mesPetit = numActual

# Mostrar la llista amb el resultat
print("Número més petit de la llista:", mesPetit)


6. Fes un programa que donada una llista de números ja inicialitzada, imprimeixi per pantalla els valors en ordre invers.

# Inicialitzar la llista
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Recórrer la llista en ordre invers
for num in reversed(llista_num) :
     
    # Mostrar el número de la posició índex
    print(num, end= "  ")


7. Fes un programa que faci una rotació cap a l’esquerra o cap a la dreta (segons ens indiqui l’usuari) de tots els elements de una llista (en rotació esquerra l’element que està a la primera posició passarà a l’ultima i en rotació dreta l’element que està l’últim passarà a la primera posició).

# Inicialitzar la llista
llista_num = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Inicialitzar sentit rotació
rotacio = input("Rotació esquerra o dreta? ")

if rotacio == "esquerra" :

# Rotació esquerra
   aux = llista_num[0]
   for index in range(len(llista_num)-1) :
       llista_num[index] = llista_num[index +1]
   llista_num[len(llista_num)-1] = aux
   print(llista_num)

elif rotacio == "dreta" :

# Rotació dreta
   aux = llista_num[len(llista_num)-1]
   for index in range(len(llista_num)-1, 0, -1) :
       llista_num[index] = llista_num[index-1]
   llista_num[0] = aux
   print(llista_num)

else :
# Opció incorrecte
   print("Opció incorrecte: opcions vàlides són esquerra o dreta")


8. Feu un programa anomenat ParaulesSenars que llegeixi una frase escrita en una sola línia des del teclat i tot seguit escrigui les paraules que hi ha en posició senar (la primera, la tercera, etc.). Per exemple, si s'escriu “Hi havia una vegada un lloc...”, es mostrarà “Hi una un”.

print("Programa paraules senars d'una frase")

# Inicialitzar variables
frase = input("Introdueix una frase: ")
index = 0

# Obtenir llista de paraules
paraules = frase.split(' ')

# Recórrer la llista i mostrar les paraules senars
while index < len(paraules) :
     # Mostrar la paraula
     print(paraules[index])
     # Paraula següent
     index +=2

# Amb for ...
'''
for index in range(0, len(paraules), 2):
    print(paraules[index])
'''