मैं एक ऐसे शब्दकोश के माध्यम से लूप करना चाहता हूं जिसमें स्ट्रिंग और पूर्णांक दोनों में मान हों। यहाँ मैंने अब तक किया है:

person={'fname':'harry','lname':'max','age':22,'city':'ktm'}
    for value in person.values():
        print(str(value.title()))

मेरा वांछित आउटपुट है:

Harry Max 22 Ktm

मुझे जो त्रुटि मिल रही है वह है:

विशेषता त्रुटि: 'int' ऑब्जेक्ट में कोई विशेषता नहीं है 'शीर्षक'

-2
Dipesh Chaudhary 11 अक्टूबर 2019, 10:37

4 जवाब

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

.title() विधि का उपयोग करने से पहले आपको 22 (जो कि एक int है) को एक स्ट्रिंग में बदलना होगा।

person={'fname':'harry','lname':'max','age':22,'city':'ktm'}
for value in person.values():
    print(str(value).title(), end=" ")

आउटपुट:

Harry Max 22 Ktm 
0
rdas 11 अक्टूबर 2019, 10:40

ऐसा इसलिए है क्योंकि age एक पूर्णांक है, और आप इस पर .title() फ़ंक्शन को कॉल नहीं कर सकते। आपको इसे पहले एक स्ट्रिंग में बदलने की जरूरत है। इसके बजाय निम्न कोड का उपयोग करने का प्रयास करें:

print(str(value).title())

0
Mohsen_Fatemi 11 अक्टूबर 2019, 10:41

आपको यहां python3 में पुनरावृत्ति की भी आवश्यकता नहीं है

person={'fname':'harry','lname':'max','age':22,'city':'ktm'}
print(f"{person['fname']} {person['lname']} {person['age']} {person['city']}")

आप इसे एक समारोह बना सकते हैं

def print_dict(person):
    print(f"{person['fname']} {person['lname']} {person['age']} {person['city']}")

और तर्क को तर्क के रूप में पारित करें

0
Yugandhar Chaudhari 11 अक्टूबर 2019, 10:44

हम int.title() नहीं कर सकते, इसलिए हमें str(int).title() करना चाहिए।

परिवर्तन:

print(str(value.title()))

प्रति:

print(str(value).title())
0
Dipen Dadhaniya 11 अक्टूबर 2019, 10:39