2017-10-19 9 views
1

私はCSイントロクラスの問題に取り組んでいます。私はそれを働かせたが、私はそれが適切に働くようにはなっていない。Pythonでconcatinated substring indexingから空白を削除するにはどうすればよいですか?

これは割り当てです: input()を使用して文字列を読み取り、最初と最後の文字を交換して同じ文字列を出力するプログラムを作成します。 (入力文字列の長さが少なくとも2であると仮定しても構わないかもしれません)。たとえば、Fairy入力では、正しいプログラムがyairFを出力します。ヒント:答えの一部として前のプログラムにソリューションを使用してください。

これは私のコードです:

残念ながら
user_input = input() 
print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0]) 

、私の出力ではなく、 "yairF" の "Y空気F" です。ホワイトスペースのないこの索引付けをどのように連結することができますか?私は成功しなかった多くのことを試してきました。私は検索のために何かを見つけることができませんでした。私はこれをlen関数とインデックス文字列を使って行うことができるはずです。

事前に完全なnewbからPythonに感謝します!

+1

でPythonインタプリタでドキュメントを参照してくださいここで少しヒントです:あなたは、右からインデックスに負のインデックスを使用することができます。例えば、 'x [len(x)-1]'は 'x [-1]'と等価です。 'user_input [1:-1]'のようにスライスすることもできます。 – Felk

答えて

2

ちょうど行います。あなたはprint文で,を使用するときにデフォルトで

user_input = input() 
print(user_input[len(user_input)-1] + user_input[1:len(user_input)-1] + user_input[0]) 
#yairF 

を、それが後にwhitespaceが含まれています。ここでは、すべての必要な文字列を追加して、printステートメントに渡します。


またはその代わりに、あなたはempty stringとしてセパレーターを指定するには、sep=を使用することができます。

print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0] , sep='') 

そして、もう一つの提案。 user_input[len(user_input)-1]を実行する代わりに、user_input[-1]を直接入力してlast charとすることができます。

+0

ありがとう!今それを見るのはとても簡単なようです。 –

+0

ほとんどの人がそうです:Dとにかく、うれしいです。 –

1

これは、デフォルトの動作がprint()であるためです。

デフォルトのセパレータを無効にするには、引数sepを渡すことができます。

print(s1, s2, s3, sep='')このコードはあなたに役立ちます。

help(print)

関連する問題