2017-08-12 3 views
0

私はそれが単語= raw_input(その逆文字のチェンジャーを小文字から大文字に変換する(その逆):自分のコードで何が間違っていますか?

def changer(word): 
for letter in word: 
    if letter.isupper(): 
    letter.lower() 
    elif letter.islower(): 
     letter.upper() 
print word 

を変更しますEnterキーを押すと、私はあなたが、変換を追加する必要があります)、その後 チェンジャー(ワード)

+1

...あなたは言葉には何も返しません。 Pythonの文字列は不変です。それらをインプレースで変更することはできません。 –

+0

@hiroprotagonist sir私はreturnキーワードと同じ出力でprintを置き換えます。 – smileycoolify

答えて

0

をupperandlower文字の組み合わせの文字で単語を入力したいと文字列を新しい文字列に変換し、新しい文字列を返すことも役に立ちます。

def changer(word): 
    newWord = "" 
    for letter in word: 
     if letter.isupper(): 
      newWord += letter.lower() 
     elif letter.islower(): 
      newWord += letter.upper() 
    print newWord 
    return newWord 
+0

ありがとうございます...先生 – smileycoolify

0

...あなたは何も返しません。 Pythonの文字列は不変です。それらをインプレースで変更することはできません。

この

はあなたが試みることができるものです:私は発電機を結合するために str.joinを使用

def swapcase(word): 
    return ''.join(c.lower() if c.isupper() else c.upper() for c in word) 

print(swapcase(word='Hello')) # hELLO 

そのスワップケース付き文字を反復。


スピードワイズstr.translateがより良い選択かもしれ:

from string import ascii_lowercase, ascii_uppercase 

trans_table = str.maketrans(ascii_lowercase + ascii_uppercase, 
          ascii_uppercase + ascii_lowercase) 

def swapcase(word): 

    return word.translate(trans_table) 

print('Hello'.translate(trans_table)) # hELLO 
+0

ありがとうございます... – smileycoolify

関連する問題