Nehézségi szint: Közepes Megjósolja a következő Python-programok kimenetét. 1. program: 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
Magyarázat: A fenti programban létrehozunk egy "life" nevű tagváltozót úgy, hogy közvetlenül hozzáadjuk a "Geeks" osztály "manager" objektumának szótárához. A szótár elemeinek teljes száma 2, az „élet” és az „id” változók. Ezért a szótár mérete vagy hossza 2, az 'life' változó pedig '49' értéket kap. Tehát az 'élet' változó és a szótár méretének összege 49 + 2 = 51. 2. program: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
Magyarázat: Amint láthatja, a 'b' változó integer típusú, az 'a' változó pedig string típusú. Mivel a Python egy erősen tipizált nyelv, nem fűzhetünk egyszerűen egy egész számot egy karakterlánchoz. Először át kell alakítanunk az egész változót karakterláncra, hogy összefűzzük egy karakterlánc-változóval. Tehát egy egész szám változót egy karakterlánc-változóhoz fűzve 'TypeError' típusú kivétel történt. 3. program: Python3 dictionary = {} dictionary[1] = 1 dictionary['1'] = 2 dictionary[1] += 1 sum = 0 for k in dictionary: sum += dictionary[k] print (sum) Output: 4
Magyarázat: A fenti szótárban az 1-es kulcs szimpla idézőjelek közé van zárva, és csak az 1 két különböző kulcsot jelöl, mivel az egyik egy egész szám, a másik pedig egy karakterlánc. Tehát a program kimenete 4. 4. program: Python3 dictionary = {1:'1' 2:'2' 3:'3'} del dictionary[1] dictionary[1] = '10' del dictionary[2] print (len(dictionary)) Output:2
Magyarázat: A 'del' függvény feladata kulcs-érték párok eltávolítása a szótárból. Kezdetben az adott szótár mérete 3 volt. Ezután az 1. kulcshoz tartozó kulcsértékpárt először eltávolítjuk, majd hozzáadjuk egy új értékkel. Ezután a 2. kulcs kulcsértékpárja el lesz távolítva. Így végül a szótár mérete 2.