Sunteți pe pagina 1din 4

Exercitii

Si acum sa trecem la partea de exercitii in care ne vom "juca" cu listele in Python.

1) Sa spunem aceasta lista salvata intr-o variabila: a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100].
Scrieti o linie de Python care ia aceasta lista a si face o lista noua care contine doar
elementele pare ale acestei liste.

Rezolvare:

https://www.geeksforgeeks.org/python-program-to-print-even-numbers-in-a-list/

a=[1,4,9,16,25,36,49,64,81,100]

for num in a:

if num % 2 == 0:

print(num)

2.1) Creati o lista cu numele a 10 prieteni (numele nu trebuie sa fie distincte). Respectand
ordinea, rezolvati urmatoarele cerinte:

• Sortati lista de nume.


• Utilizand o lista auxiliara, determinati numarul de aparitii al fiecarui nume.
• Determinati numele care apare de cele mai multe ori in lista initiala.
• Determinati numele care apar cel mai putin ori in lista initiala.
• Revenind la lista initiala de nume, inversati ordinea elementelor.

2.2) Formati perechi de cate 2 persoane cu numele din lista initiala si impartiti aceste
perechi (in mod egal) in 2 liste. Asigurati-va ca acestor perechi nu li se poate modifica
valoarea (hint: tupluri). Avand aceste perechi, calculati numarul total de caractere pentru
fiecare pereche in parte si creati o lista noua in care sa le introduceti in ordine
descrescatoare.
Rezolvare:

lista=[]

for i in range(10):

print("Nume ",i+1,": ",sep="",end="")

nume=input()

lista.append(nume)

print("\n2.1.a ",sorted(lista))

aparitii={}

for nume in lista:

aparitii[nume]=lista.count(nume)

print("\n2.1.b ",aparitii)

for cheie, valoare in aparitii.items():

if list(aparitii.values())[0] == valoare:

print("\n2.1.c ", list(aparitii.values())[0], " x ", cheie, sep="", end="")

print()

for cheie, valoare in aparitii.items():

if list(aparitii.values())[-1] == valoare:

print("\n2.1.d ", list(aparitii.values())[-1], " x ", cheie, sep="", end="")

print("\n\n2.1.e ",sorted(lista,reverse=True))
listaA=[]

listaB=[]

listaN=[]

listaS=[]

for i in range(0,len(lista),2):

listaA.append(lista[i])

listaB.append(lista[i+1])

tuplA=tuple(listaA)

tuplB=tuple(listaB)

listaA.append("")

listaB.append("")

for i in range(5):

listaN.append(len(tuplA[i])+len(tuplB[i]))

listaN.append(0)

for j in range(5):

for i in range(5):

if listaN[i] < listaN[i+1]:

listaA[i], listaA[i+1] = listaA[i+1], listaA[i]

listaB[i], listaB[i+1] = listaB[i+1], listaB[i]

listaN[i], listaN[i+1] = listaN[i+1], listaN[i]

for i in range(len(listaA)-1):

listaS.append(listaA[i])

listaS.append(listaB[i])

print("\n2.2 ",listaS)
Si putina matematica...

3) Scrieti un script care afiseaza in consola toate numerele pare divizibile cu 7 din
intervalul [0, 3463]. Sugestie: folositi functia range(). Ajustati codul astfel incat la aparitia
primului multiplu al lui 666, algoritmul sa se opreasca.

for i in range(0,3464,2):

if i % 7 ==0:

print(i)

if i==1332:

break

S-ar putea să vă placă și