Úroveň obtížnosti: Střední Předpovídá výstup následujících programů 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
Vysvětlení: Ve výše uvedeném programu vytváříme členskou proměnnou s názvem 'life' jejím přidáním přímo do slovníku objektu 'manager' třídy 'Geeks'. Celkový počet položek ve slovníku je 2 proměnné 'life' a 'id'. Velikost nebo délka slovníku je tedy 2 a proměnné 'life' je přiřazena hodnota '49'. Takže součet proměnné 'život' a velikosti slovníku je 49 + 2 = 51. Program 2: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
Vysvětlení: Jak vidíte, proměnná 'b' je typu integer a proměnná 'a' je typu string. Protože Python je silně typovaný jazyk, nemůžeme jednoduše zřetězit celé číslo s řetězcem. Nejprve musíme převést celočíselnou proměnnou na typ string, abychom ji zřetězili s řetězcovou proměnnou. Takže při pokusu zřetězit celočíselnou proměnnou do řetězcové proměnné došlo k výjimce 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
Vysvětlení: Ve výše uvedeném slovníku klíč 1 uzavřený mezi jednoduchými uvozovkami a pouze 1 představuje dva různé klíče, protože jeden z nich je celé číslo a druhý je řetězec. Výstup programu je tedy 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
Vysvětlení: Úkolem funkce 'del' je odstranit páry klíč-hodnota ze slovníku. Zpočátku byla velikost daného slovníku 3. Poté je pár klíč hodnota pro klíč 1 nejprve odstraněn a poté přidán zpět s novou hodnotou. Poté je pár klíč hodnota pro klíč 2 odstraněn. Takže konečně velikost slovníku je 2.