string - Capitalizing words in (Python)? -


this question has answer here:

i trying write capitalize each word in sentence. , works fine, follows:

print " ".join((word.capitalize() word in raw_input().strip().split(" "))) 

if input 'hello world', output :

    hello world 

but tried writing differently follows :

s = raw_input().strip().split(' ') word in s:     word.capitalize() print ' '.join(s) 

and output wrong :

    hello world 

so what's wrong that, why result isn't same ?! thank you.

the problem in code strings immutable , trying mutate it. if wont work loop have create new variable.

s = raw_input().strip().split(' ') new_s = '' word in s:     new_s += s.capitalize() print new_s 

or, work if use enumerate iterate on list , update s:

s = raw_input().strip().split(' ') index, word in enumerate(s):     s[index] = .capitalize() print ' '.join(s) 

but best way capitalize words in string use str.title() - method capitalization of words in string:

s = 'hello word' print(s.title()) 

Comments

Popular posts from this blog

wordpress - (T_ENDFOREACH) php error -

Export Excel workseet into txt file using vba - (text and numbers with formulas) -

Using django-mptt to get only the categories that have items -