Razina težine: Srednji Predvidite izlaz sljedećih Python programa. Program 1: Python3 class Geeks: def __init__(self id): self.id = id manager = Geeks(100) manager.__dict__['life'] = 49 print (manager.life + len(manager.__dict__))
Output:51
Objašnjenje: U gornjem programu stvaramo varijablu člana s imenom 'life' dodajući je izravno u rječnik objekta 'manager' klase 'Geeks'. Ukupan broj stavki u rječniku je 2 varijable 'life' i 'id'. Stoga je veličina ili duljina rječnika 2, a varijabli 'life' dodijeljena je vrijednost '49'. Dakle, zbroj varijable 'život' i veličine rječnika je 49 + 2 = 51. Program 2: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
Objašnjenje: Kao što vidite, varijabla 'b' je tipa integer, a varijabla 'a' je tipa niz. Također, budući da je Python strogo tipiziran jezik, ne možemo jednostavno spojiti cijeli broj s nizom. Prvo moramo pretvoriti integer varijablu u tip string da bismo je spojili s string varijablom. Dakle, prilikom pokušaja spajanja varijable cijelog broja u varijablu niza dolazi do iznimke tipa 'TypeError'. Program 3: Python3 dictionary = {} dictionary[1] = 1 dictionary['1'] = 2 dictionary[1] += 1 sum = 0 for k in dictionary: sum += dictionary[k] print (sum) Output: 4
Obrazloženje: U gornjem rječniku ključ 1 zatvoren je između jednostrukih navodnika i samo 1 predstavlja dva različita ključa budući da je jedan cijeli broj, a drugi niz. Dakle, rezultat programa je 4. Program 4: Python3 dictionary = {1:'1' 2:'2' 3:'3'} del dictionary[1] dictionary[1] = '10' del dictionary[2] print (len(dictionary)) Output:2
Objašnjenje: Zadatak funkcije 'del' je ukloniti parove ključ-vrijednost iz rječnika. U početku je veličina zadanog rječnika bila 3. Zatim se par vrijednosti ključa za ključ 1 prvo uklanja, a zatim ponovno dodaje s novom vrijednošću. Tada se par vrijednosti ključa za ključ 2 uklanja. Dakle, konačno je veličina rječnika 2.