निम्नलिखित प्रारूप में प्रिंट स्टेटमेंट को देखते हुए, इनपुट के रूप में दर्ज किए गए किसी भी नए देश और जनसंख्या को शामिल करना भी आवश्यक है। मैं एक संलग्न शब्दकोश को dict प्रारूप में दिखाने के लिए कोड बना सकता हूं लेकिन निम्न प्रारूप में दिखाने में कठिन समय हो रहा है। मैं गलत क्या कर रहा हूँ?

अपेक्षित उत्पादन:

   Vatican has Population 800
   Vatican has Population 10200
   ...
def main():
        countryPop = {'Vatican': 800, 'Tuvalu': 10200, 'Nauru': 11000, 'Palau': 17900,
                      'San Marino': 33420, 'Monaco': 38300, 'Marshall Islands': 55500}

        # while loop to repeat the input request and population display until 0 is entered
        while True:
            ctry = input('Enter country:')
            population = countryPop.get(ctry)
            print('Population:',population)
            if ctry == '0':
                break

            # Else if Loop meant to activate if a country unknown to the original dictionary is entered
            elif ctry not in countryPop:
                popIn = input("Country Pop:")
                countryPop[ctry] = popIn

        # printing the new list after breaking from the loop
        for ctry in countryPop:
            print(str(ctry)+" has population "+str(popIn))
    if __name__ == '__main__':
        main()
1
meag_a 28 जिंदा 2020, 14:54

2 जवाब

सबसे बढ़िया उत्तर

शब्दकोश की कुंजियों पर पुनरावृति करने के लिए आप for key in dict सिंटैक्स का उपयोग कर सकते हैं। फिर, अपने लूप के अंदर, आप dict[key] का उपयोग यह पढ़ने के लिए कर सकते हैं कि उस कुंजी में क्या सहेजा गया है। तो निम्नलिखित काम करेगा:

countryPop = {'Vatican': 800, 'Tuvalu': 10200, 'Nauru': 11000, 'Palau': 17900,
                      'San Marino': 33420, 'Monaco': 38300, 'Marshall Islands': 55500}

for key in countryPop:
    print(key + " has Population " + str(countryPop[key]))

आउटपुट:

पलाऊ की जनसंख्या १७९०० है

तुवालु की जनसंख्या १०२०० है

वेटिकन की जनसंख्या 800 . है

सैन मैरिनो की जनसंख्या 33420 है

मार्शल द्वीप समूह की जनसंख्या 55500 . है

मोनाको की जनसंख्या 38300 . है

नाउरू की जनसंख्या 11000 . है

2
Community 20 जून 2020, 12:12

यह वही प्रिंट करेगा जो आप चाहते हैं

for ctry, pop in countryPop.items():
    print(f"{ctry} has population {pop}")
2
Bendik Knapstad 28 जिंदा 2020, 14:57