हैलो, मैं पायथन 3.6.1 के लिए एक फ़ंक्शन बनाने की कोशिश कर रहा हूं जहां एक उपयोगकर्ता एक वाक्य सम्मिलित कर सकता है और आउटपुट प्रत्येक शब्द का पहला अक्षर होगा। और अंतरिक्ष। यानी हैलो वर्ल्ड -> H. W.

मैंने नीचे कोड बनाया है लेकिन मैं इसे सही तरीके से काम करने का प्रबंधन नहीं कर सकता। मुझे केवल पहला शब्द अक्षर मिल रहा है और किसी तरह यह दूसरे या तीसरे शब्द आदि की उपेक्षा करता है। कोई विचार यह कैसे तय किया जा सकता है?

def initials(text):
    x = ""
    for text in text.split():
          x += text[0].upper()+". "
          return x

st= input("give sentance:")
print(initials(st))

पायथन 3.6.1 (डिफ़ॉल्ट, दिसंबर 2015, 13:05:11) [जीसीसी 4.8.2] लिनक्स पर

वाक्य दें: हैलो वर्ल्ड एच।

मुझे उम्मीद है कि एच. डब्ल्यू.

शुक्रिया!

-2
anonymous 4 पद 2017, 02:26
3
अपने return स्टेटमेंट को अनइंडेंट करें। आपका फ़ंक्शन वर्तमान में for लूप के पहले पुनरावृत्ति के बाद वापस आता है।
 – 
Dimitris Fasarakis Hilliard
4 पद 2017, 02:30

2 जवाब

ये कोशिश करें:

def initials(text):
    text += " " # add a space to the end of text
    result = ""
    # str.find returns -1 if the specified string is not found
    while text.find(" ")>-1:
        # the if statement gets rid of extra spaces so they are
        # not included in the initials
        if text[0] != " ":
            result += text[0].upper() + ". "
        text = text[text.find(" ")+1:]
    return result

st= input("give sentance:")
print(initials(st))
0
63677 4 पद 2017, 03:08

आपका कोड बस इस तरह दिखना चाहिए:

sen = input("Please enter a string ")
sen = sen.split()
for i in sen:
    num = i[0]
    print(num,end="")

यह आपके प्रत्येक शब्द के पहले अक्षर को प्रिंट करेगा!

-1
Muhammad Abdullah 4 पद 2017, 02:42