ある場合。フィラーとは何ですか?フィラーは文字列ですか?フィラーは数字ですか?関数stringCombinationのコンテキストでは、「フィラー」が何であるかを定義していません。
あなたは、ほとんどの場合、その場合にはデフォルトの「fillValue」を探しているあなたの関数のシグネチャは次のようなものでなければなりません:おそらくあなたはグローバル変数として「フィラー」を定義し
def stringCombination(string1, string2, fillValue = " "):
。私が代わりにグローバル変数のための「充填剤」を使用しての、あなたは明確な大文字の名前を使用する必要がありますお勧めします
DEFAULT_FILL_VALUE = " "
def stringCombination(string1, string2, fillValue = DEFAULT_FILL_VALUE):
:その場合、あなたのコードは次のようになります。
私はもちろん、スペースのデフォルトの塗りつぶし値が必要であると仮定しています。コンマなどが必要な場合は、スペースを目的の文字に置き換えてください。文字列1、文字列2およびfillValue:あなたはあなたの関数に渡される3つのパラメータを持っている
filler = string2[-1] if len(string1) > len(string2) else string[-1]
:
あなたのコードを持つ他の問題は、このラインです。したがって、関数のコンテキストでは、string1、string2およびfillValueのみを操作できます。 "フィラー"と "文字列"を操作または割り当てることは実際にはここでは意味がありません( "文字列"は単にタイプミスであると感じますが、string1を意味しましたか?)。
フィラーを意図的に変更しようとしていて、それがグローバル変数である場合は、これに反対することを強くお勧めします。すべてのグローバル変数を大文字にし、それらが一定であることを確認する必要があります。 、私たちが行うことができ、共通のzip機能を使用することにより
:
fillValue = fillerを設定する前にfillerの値を初期化していますか? – PrestonM
いいえ。私はやり方がありません –
'(string1、string2、fillValue = filler)'を '(string1、string2、filler)'、 'string [-1]'に 'string1 [-1]'と 'fillValue =フィラー=充填剤で充填する。その後、もう一度試してください。 – Alperen