Úroveň obtiažnosti: Stredne pokročilý Predpovedať výstup nasledujúcich programov Python. 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
vysvetlenie: Vo vyššie uvedenom programe vytvárame členskú premennú s názvom 'life' jej pridaním priamo do slovníka objektu 'manager' triedy 'Geeks'. Celkový počet položiek v slovníku je 2 premenné 'life' a 'id'. Preto je veľkosť alebo dĺžka slovníka 2 a premennej 'life' je priradená hodnota '49'. Takže súčet premennej „život“ a veľkosti slovníka je 49 + 2 = 51. Program 2: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
vysvetlenie: Ako vidíte, premenná 'b' je typu celé číslo a premenná 'a' je typu string. Keďže Python je silne typizovaný jazyk, nemôžeme jednoducho spojiť celé číslo s reťazcom. Najprv musíme premennú celé číslo previesť na typ string, aby sme ju zreťazili s reťazcovou premennou. Pri pokuse o zreťazenie celočíselnej premennej s reťazcovou premennou sa vyskytla výnimka typu '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
Vysvetlenie: Vo vyššie uvedenom slovníku je kľúč 1 uzavretý medzi jednoduchými úvodzovkami a iba 1 predstavuje dva rôzne kľúče, pretože jeden z nich je celé číslo a druhý je reťazec. Takže výstup programu 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
vysvetlenie: Úlohou funkcie 'del' je odstrániť páry kľúč-hodnota zo slovníka. Pôvodne bola veľkosť daného slovníka 3. Potom sa pár kľúč hodnota pre kľúč 1 najprv odstráni a potom sa pridá späť s novou hodnotou. Potom sa pár kľúč-hodnota pre kľúč 2 odstráni. Takže nakoniec je veľkosť slovníka 2.