2016-04-10 22 views
0

私は基本的なプログラムを書いています。ユーザーの名前の文字数と各母音の数を数えます。ただし、ユーザーが大文字を入力した場合のみカウントされますが、文字列を小文字に変換するように設定しています。文字列を小文字に変換する

n = input("Please enter your name: ") 
n.lower() 
x = (len(n)) 
a = n.count('a') 
e = n.count('e') 
i = n.count('i') 
o = n.count('o') 
u = n.count('u') 

print("Your name has {0} a, {1} e, {2} i, {3} o, {4} u and is {5} characters long.".format(a,e,i,o,u,x)) 

この問題は何ですか?

+0

'N = n.lower() ''ないn.lower() '。文字列は不変であり、メソッドを呼び出すときには変更されません。 – zondo

答えて

3

nに割り当てる必要があります。 n.lower()nを変更しませんが、新しい文字列を小文字で返します。

に置き換える:

n.lower() 

で:

n = n.lower()