私の宿題は、指定された文字列から与えられた名前の頭文字を削除し、ユーザ入力を使って変数を定義することです。以下のスクリプトを実行すると、1つの名前しか登録されません。与えられた文字列から文字を削除する
def removeChar(initials, string):
initials = initials
string = string
for char in initials:
modified = string.replace(char, "")
print modified
return modified
def getInitials(name, string):
initials = ""
for i in name.lower().split():
initials += i[0]
print initials
removeChar(initials, string)
def main():
name = raw_input("What is your name? \n")
string = raw_input("What string would you like to remove your initials from? \n")
getInitials(name, string)
これが出力されます。
What is your name?
John Doe
What string would you like to remove your initials from?
Arjajbian Ndigdhts
Arjajbian Nights
なぜそれが最初のイニシャルを削除しないのでしょうか?
ちょうどいいヒント: 'string = string'と' initials = initials'はまったく必要ありません。 –
Pythonを使用して以来、しばらくしてきましたが、名前の間のスペースを削除して、文字を基にした配列を作成しようとしましたか? –
また、 'string'はPython標準ライブラリの一部です... –