Vaikeustaso: Keskitaso Ennusta seuraavien Python-ohjelmien tulos. Ohjelma 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
Selitys: Yllä olevassa ohjelmassa luomme jäsenmuuttujan, jonka nimi on 'life', lisäämällä se suoraan luokan 'Geeks' objektin 'manager' sanakirjaan. Sanakirjan kohteiden kokonaismäärä on 2 muuttujat "life" ja "id". Siksi sanakirjan koko tai pituus on 2 ja muuttuja 'life' saa arvon '49'. Joten muuttujan 'life' ja sanakirjan koon summa on 49 + 2 = 51. Ohjelma 2: Python3 a = 'GeeksforGeeks ' b = 13 print (a + b)
Output:An error is shown.
Selitys: Kuten näet, muuttuja 'b' on tyyppiä integer ja muuttuja 'a' on tyyppiä merkkijono. Koska Python on vahvasti kirjoitettu kieli, emme voi yksinkertaisesti ketjuttaa kokonaislukua merkkijonoon. Meidän on ensin muutettava kokonaislukumuuttuja tyyppimerkkijonoksi, jotta se ketjutetaan merkkijonomuuttujan kanssa. Joten kun yritetään ketjuttaa kokonaislukumuuttuja merkkijonomuuttujaan, tapahtuu poikkeus, jonka tyyppi on "TypeError". Ohjelma 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
Selitys: Yllä olevassa sanakirjassa avain 1 on yksittäisten lainausmerkkien välissä ja vain 1 edustaa kahta eri avainta, koska toinen niistä on kokonaisluku ja toinen merkkijono. Joten ohjelman tulos on 4. Ohjelma 4: Python3 dictionary = {1:'1' 2:'2' 3:'3'} del dictionary[1] dictionary[1] = '10' del dictionary[2] print (len(dictionary)) Output:2
Selitys: Del-funktion tehtävänä on poistaa avain-arvo-pareja sanakirjasta. Annetun sanakirjan koko oli aluksi 3. Sitten avaimen 1 avainarvopari poistetaan ensin ja lisätään sitten takaisin uudella arvolla. Sitten avaimen 2 avainarvopari poistetaan. Joten lopulta sanakirjan koko on 2.