Korisnik odabire zeljeni broj osoba koji mora biti izmedju 5 i 10, inace se od korisnika trazi ponovan unos broj osoba, dok god uneseni broj nije velicine izmedju 5 i 10. Za taj odabrani broj osoba unosi njihovo ime i broj godina. Prilikom unosa broja godina (iznimke) javljati korisniku informaciju o pogreski ukoliko je unio neodgovarajuci tip podatka, te ponavljati taj unos, dok god unos nije odgovarajuci. Dok korisnik unosi podatke, imena se upisuju u listu imena, a godine u listu godina. Nakon sto je unos izvrsen, program provjerava podatke u listama za svaku osobu i gdje god pronadje da broj koji predstavlja godine osobe nije djeljiv sa brojem koji predstavlja broj slova u njegovom imenu, zbraja ta dva broja te tu vrijednost upisuje u novu listu, a ta nova lista se zatim kao takva pohranjuje u binarnu datoteku naziva "brojevi.txt". Ta datoteka se nakon izvrsenog cjelog postupka zatvara. Otvoriti (prethodno koristenu) binarnu datoteku za citanje, te dohvatiti listu koja je unutra pohranjena. Procitati koliko u listi ima elemenata, te ukoliko je taj broj elemenata paran, sortirati listu po velicini, a inace ju obrnuti (okrenuti poredak elemenata u njoj od zadnjeg ka prvom). Napisati funkciju koja cita elementa liste te glavnom programu vraca sumu tih elemenata, koja se ispisuje na ekran. ''' import pickle def zbroj_elemenata(lista): zbroj = 0 for a in range(0,len(lista)): zbroj += lista[a] return zbroj lista_godina = [] lista_imena = [] lista_za_upis = [] x = 0 while(x<5 or x>10): print("Unesite broj između 5 i 10.") x = int(input()) for a in range(0,x): print("Unesite ime",a+1,"studenta") lista_imena.append(input()) provjera = True while(provjera): print("Unesite godine",a+1,"studenta") try: lista_godina.append(int(input())) provjera = False if(lista_godina[a]%len(lista_imena[a])!=0): lista_za_upis.append(len(lista_imena[a])+lista_godina[a]) except Exception: print("Niste unijeli ispravno godine, ponovite unos") provjera = True datoteka = open("brojevi.txt","wb") pickle.dump(lista_za_upis,datoteka) datoteka.close() file1 = open("brojevi.txt","rb") procitana_lista = pickle.load(file1) file1.close() if(len(procitana_lista)%2==0): procitana_lista.sort() print("Sortirana lista je:",procitana_lista) else: procitana_lista.reverse() print("Lista obrnutog redosljeda je:",procitana_lista) print("zbroj elemenata je:",zbroj_elemenata(procitana_lista)) print("Ispis svih lista:") print(lista_imena) print(lista_godina) print(lista_za_upis)