मैं एक ऐसे शब्दकोश के माध्यम से लूप करना चाहता हूं जिसमें स्ट्रिंग और पूर्णांक दोनों में मान हों। यहाँ मैंने अब तक किया है:
person={'fname':'harry','lname':'max','age':22,'city':'ktm'}
for value in person.values():
print(str(value.title()))
मेरा वांछित आउटपुट है:
Harry
Max
22
Ktm
मुझे जो त्रुटि मिल रही है वह है:
विशेषता त्रुटि: 'int' ऑब्जेक्ट में कोई विशेषता नहीं है 'शीर्षक'
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
ऐसा इसलिए है क्योंकि age
एक पूर्णांक है, और आप इस पर .title()
फ़ंक्शन को कॉल नहीं कर सकते। आपको इसे पहले एक स्ट्रिंग में बदलने की जरूरत है। इसके बजाय निम्न कोड का उपयोग करने का प्रयास करें:
print(str(value).title())
आपको यहां 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']}")
और तर्क को तर्क के रूप में पारित करें
हम int.title()
नहीं कर सकते, इसलिए हमें str(int).title()
करना चाहिए।
परिवर्तन:
print(str(value.title()))
प्रति:
print(str(value).title())
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।