Sunteți pe pagina 1din 3

'''Rezolvati urmatoarele exercitii in Python

*Exercitiul 1:
Se da o lista de numere:
1)Sa se calculeze suma elementelor listei.
2)Sa se verifice daca un anumit numar exista sau nu in aceasta lista.
3)Sa se schimbe valorile dintre doua pozitii date din aceasta lista.
4)Gasiti valoarea maxima din lista.
5)Sa se elimine un numar aflat pe o anumita pozitie in lista, daca este posibil.
6)Sa se elimine toate aparitiile unui numar dat din lista.
7)Sa se adauge un numar dat pe o pozitie data in lista.

Toate rezultatele operatiilor de mai sus se vor scrie in fisierul "results.txt",


fiecare pe cate o linie, pe prima linie va fi afisata lista initiala'''
'''
def creereLista():
lista=[]
n=int(input("Dati nr de elemente din lista: "))
for i in range(0,n):
x=int(input('a[{0}]='.format(i)))
lista.append(x)
return(lista)
x=creereLista()'''

x=[2,3,8,7,8,4,9,6,10,3,2,11,23]
f = open("results.txt", 'w+')
f.write('Lista initiala:'+str(x)+'\n')

##1)Sa se calculeze suma elementelor listei.


def sumaElem(x):
s=0
for i in x:
s=s+int(i);
f.write("Suma elementelor din lista {0} este {1}".format(x,s)+'\n')
sumaElem(x)
##2)Sa se verifice daca un anumit numar exista sau nu in aceasta lista.
def listCautare(a,list):
for i in list:
if int(i)==a:return True
return False

y=int(input("Dati valoarea de cautat in lista x="))


f.write('Valoarea din lista de cautat este '+str(y)+ ' -')
if(listCautare(y,x)) :
f.write(" Nr {} se gaseste in lista".format(y)+'\n')
else :
f.write(" Nr {} nu se gaseste in lista".format(y)+'\n')

##3)Sa se schimbe valorile dintre doua pozitii date din aceasta lista.

a = int(input("Dati pozitia de schimbat in lista a="))


b = int(input("Dati pozitia de schimbat in lista b="))
while a>len(x) or b>len(x):
print("dpozitiile introduse depasesc nr de elem lista.Va rugam reintroruceti
numerele:")
a=int(input("Dati pozitia de schimbat in lista a="))
b=int(input("Dati pozitia de schimbat in lista b="))
## citim pe a si b de cate ori este nevoie pana introducem date corecte
x[a],x[b]=x[b],x[a]
f.write("Inlocuim pozitia {} cu pozitia {}".format(a,b) + ' Obtinem: ')
f.write(str(x)+'\n')

##4)Gasiti valoarea maxima din lista.


f.write("Valoarea maxima din lista este : {}".format(max(x))+'\n')

##5)Sa se elimine un numar aflat pe o anumita pozitie in lista, daca este posibil.
##nu am do wile aici :)
a=int(input("Dati pozitia de sters a="))
while a<0 and a>len(x):
a = int(input("Dati pozitia de sters a="))
print('pozitia nu este valida.Te rugam sa reincerci(0<{}<{}'.format(a,len(x)))
x.pop(a)
f.write("Am eliminat pe {} din lista: ".format(a))
f.write(str(x) + '\n')

f.write("Pozitia {} nu este valida".format(a))

f.write("Am eliminat pe {} din lista: ".format(a))


f.write(str(x)+'\n')

##6)Sa se elimine toate aparitiile unui numar dat din lista.


def aparitiiSterge(y):
i=1
while i>=1 :
try:
x.remove(y)
i =i+1
except ValueError:
if i==1 :
f.write('Valoarea {} nu exista in lista lista ramane
nemodificata'.format(y))
i=0

m=int(input("Dati valoarea de sters din lista y="))


f.write("Eliminam total pe {} din lista : ".format(m))
aparitiiSterge(m)
f.write(str(x)+'\n')

##7)Sa se adauge un numar dat pe o pozitie data in lista.


k=int(input("Dati pozitia pe care adaugam in lista y="))
l=int(input("Dati valoarea de adaugat in lista z="))
x.insert(k,l)
f.write("lista dupa adaugare pe pozitia {} a valorii {}/*Observatie daca pozitia {}
> {} valoarea va fi adaugata in coada*/".format(k,l,k,len(x)))
f.write(str(x)+'\n')
f.close()

'''*Exercitiul 2. Definiti o functie care returneaza suma numerelor primite


ca parametru, numarul parametrilor fiind mereu variabil.'''
def sum(*args) :
s=0
for i in args :
s=s+i
return s

args = (1,2,3,4,5,6,7,8)
print(sum(*args))

'''*Exercitiul 3.
Creati o functie care primeste un numar variabil de argumente si le tipareste in
consola.
La afisare, indicati si care valori au fost introduse ca si pozitionale si care
sunt keyword arguments'''

def afisare(a, b, **kwargs) :


print("variabile pozitionale sunt {} {}".format(a,b))
u=''##am adasugat sirul u sa imi printeze pe o linie
for key,value in kwargs.items() :## am adaugat si key deoarece voiam sa sara
peste key name cand cauta
u=u+" "+str(value)
print("variabila keyword "+u)
afisare(4, 7, nr1=2, nr2=14, nr3=9)
afisare(4, 7, nr1=2, nr2=14, nr3=9,nr4=17,nr5=18)

'''*Exercitiul 4. Scrieti un program Python pentru a gasi intersectia a doua liste


folosind Lambda.
ex: Listele initiale:
[1, 2, 3, 5, 7, 8, 9, 10]
[1, 2, 4, 8, 9]
Intersectia lor: [1, 2, 8, 9]'''

def Intersect(x,y):
z= list(filter(lambda a: a in x, y))
return (z)

x= [1, 2, 3, 5, 7, 8, 9, 10]
y= [1, 2, 4, 8, 9]
z=Intersect(x,y)
print ("AnB={}n{}={}".format(x,y,z))

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