मैं एक ऐसा फ़ंक्शन बनाना चाहता हूं जो हाइफ़न ("-") का उपयोग करके एक नाम विभाजित करे

 def tag(name):
    for word in list(name):
        *something*
    return variable
print(tag('Richard'))

वांछित आउटपुट

'R-i-c-h-a-r-d-'
-2
Code2501 6 अप्रैल 2020, 09:04
3
... वह होगा '-'.join("Richard") ... आपकी समस्या वास्तव में कहां है?
 – 
Patrick Artner
6 अप्रैल 2020, 09:07
इस लिंक को देखें: geeksforgeeks.org/join-function-python आप चाहते हैं स्ट्रिंग पर join ऑपरेटर का उपयोग करें, जो 'जॉइनर' (आपके मामले में, '-') पर काम करता है और या तो एक सूची, या किसी अन्य स्ट्रिंग को स्वीकार करता है।
 – 
David
6 अप्रैल 2020, 09:09

2 जवाब

आप एक स्ट्रिंग पर जॉइन फ़ंक्शन का उपयोग करना चाहते हैं, जो 'जॉइनर' (आपके मामले में, '-') पर संचालित होता है और या तो एक सूची, या किसी अन्य स्ट्रिंग को स्वीकार करता है।

तो, आपके पास '-'.join('Richard') हो सकता है,

या

def tag(name):
  return '-'.join(name)
0
David 6 अप्रैल 2020, 09:11
क्या होगा अगर मैं पुनरावृत्ति का उपयोग करना चाहता हूं
 – 
Code2501
6 अप्रैल 2020, 09:20
तो ऐसा लगता है कि आप एक गृहकार्य समस्या को हल करने की कोशिश कर रहे हैं, और हम इसमें मदद नहीं कर सकते हैं
 – 
David
6 अप्रैल 2020, 09:25

इसे नीचे आजमाएं:

def tag(name):
    output = name[0]
    for i in name[1:]:
        output += '-' + i
    return output

print(tag('Richard'))

या

def tag(name):
    return '-'.join("Richard")
-1
Abhishek Kulkarni 6 अप्रैल 2020, 09:11
String.join अधिक पाइथोनिक और क्लीनर होगा।
 – 
Ollie
6 अप्रैल 2020, 09:08
बहुत अक्षम - आप बहुत से अपरिवर्तनीय स्ट्रिंग इंटरमीडिएट का निर्माण करते हैं जिन्हें बनाने और नष्ट करने की आवश्यकता होती है। इस तरह की चीज ठीक वही है जो join() iterables पर फ़ंक्शन के लिए है।
 – 
Patrick Artner
6 अप्रैल 2020, 09:09
अगर मैं पुनरावृत्ति का उपयोग करना चाहता हूं तो क्या होगा?
 – 
Code2501
6 अप्रैल 2020, 09:21
यह एक करता है पुनरावृत्ति का उपयोग करता है, न कि उस सटीक प्रारूप में जो आप चाहते हैं।
 – 
David
6 अप्रैल 2020, 09:26