2017-07-26 1 views
-1

Entrée: 3chaîne Erreur d'exécution manipulaiton python

gandhi 
mahatma gandhI 
Mohndas KaramChand gandhi 

Sortie:

Gandhi 
M. Gandhi 
M. K. Gandhi 

et moi avons écrit le code suivant:

n = int(input()) 


while n > 0 : 
    k = raw_input() 

    if k.find(" ") != -1: 

    final = str(k[0].upper() + '.') 


    for i in range(len(k)) : 
     if (k[i] == ' ') & (k[i:].find(" ")): 
     final += k[i+1].upper() + ". " 
     else: 
      if(k[i] == ' '): 
      final += k[i+1].upper() + k[i+2:].lower() 


    n -= 1 

    print final[0:len(final)] 

else : 
    print k[0].upper() + k[1:].lower() 

Je reçois une erreur d'exécution pour cette . Quelqu'un peut-il expliquer pourquoi?

+0

Quelles sont les erreurs d'exécution que vous obtenez? –

+0

Bienvenue dans Stack Overflow! Pour aider les gens à répondre à votre question, vous devrez être plus précis sur l'erreur. S'il vous plaît [modifier] votre message pour intégrer les erreurs exactes que vous obtenez de votre [mcve] (de préférence en utilisant copier + coller pour éviter les erreurs de transcription). –

Répondre

0

essayez ce code.

str = "gandhi mahatma gandhi Mohndas KaramChand gandhi" 
temp = '' 
for st in str.split(): 
    if st == 'gandhi': 
     temp = temp + ' ' + st.title() 
    else: 
     temp = temp + ' ' + st[0].upper() + '.' 
print temp 

sortie selon vos attentes - Gandhi M. Gandhi M. K. Gandhi

0
# https://stackoverflow.com/a/45323927/4909087 
In [1223]: [(''.join(y[0].upper() + '. ' for y in x.split()) + 'gandhi').strip().title() for x in str_.split('gandhi')][:-1] 
Out[1223]: ['Gandhi', 'M. Gandhi', 'M. K. Gandhi'] 

Ici, _str_ contient vos données. Nous divisons le gandhi, convertissons chaque partie en casse-titre, puis rejoignons-la.