Poziom trudności: Średniozaawansowany Przewiduj wynik następujących programów w języku 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
Wyjaśnienie : W powyższym programie tworzymy zmienną składową o nazwie „life” dodając ją bezpośrednio do słownika obiektu „manager” klasy „Geeks”. Całkowita liczba pozycji w słowniku to 2 zmienne „życie” i „id”. Zatem rozmiar lub długość słownika wynosi 2, a zmiennej „life” przypisano wartość „49”. Zatem suma zmiennej „życie” i rozmiaru słownika wynosi 49 + 2 = 51. Program 2: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
Wyjaśnienie : Jak widać zmienna „b” jest typu integer, a zmienna „a” jest typu string. Ponieważ Python jest językiem silnie typowanym, nie możemy po prostu połączyć liczby całkowitej z ciągiem znaków. Musimy najpierw przekonwertować zmienną całkowitą na ciąg znaków, aby połączyć ją ze zmienną łańcuchową. Próba połączenia zmiennej całkowitej ze zmienną łańcuchową powoduje wyjątek 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
Wyjaśnienie: W powyższym słowniku klucz 1 jest ujęty w pojedyncze cudzysłowy i tylko 1 reprezentuje dwa różne klucze, ponieważ jeden z nich jest liczbą całkowitą, a drugi ciągiem znaków. Zatem wynik programu wynosi 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
Wyjaśnienie : Zadaniem funkcji „del” jest usuwanie par klucz-wartość ze słownika. Początkowo rozmiar danego słownika wynosił 3. Następnie najpierw usuwana jest para klucz-wartość dla klucza 1, a następnie dodawana z powrotem z nową wartością. Następnie para klucz-wartość dla klucza 2 jest usuwana. Ostatecznie rozmiar słownika wynosi 2.