私は初心者のPythonの学生ですが、私はいくつかのシンプルな(しかし、今、私にとっては複雑な)演習を行っています。私はいろいろ試してみましたが、推測を止めることに決めました。なぜなら、それは学習の日常的なルーチンではないと信じているからです。Pythonエクササイズ:最後の手紙/最初の文字
私は以下の演習を解決する必要があります。
は、リスト与えられた、の 最後の文字と異なる文字で始まるリストで 最初の単語を返す、ということ、
lastfirst(lst)
機能を書きます前の言葉。そのような単語がない場合、 はNone
を返します。例:
lst = ['sole','elmo','orco','alba','asta']
戻り'alba'
lst = ['sky','you','use','ear','right']
戻り、私はそれを解決しようとしたNone
、と私はこれでいた:
lst = ['sole','elmo','orco','alba','asta']
def lastfirst(lst):
cont = 0
d = 1
for a in lst[cont:]:
for b in lst[d:]:
if a[-1] != b[0]:
return lst[d]
else:
cont = cont + 1
d = d + 1
print(lastfirst(lst))
問題私は検出されました:
プログラムでは、最初の単語の最初の文字と2番目の単語の最後の文字、または最初の単語の最後の文字と2番目の単語の最初の文字を区別することはありません。
PS:私の英語のため申し訳ありません:)
'lst [i] [ - 1]'は 'lst'のアイテム' i 'を取得し、最後に_that_ itemの最後のアイテムを取得します。したがって、lst = ['sky'、 'you'、 'use'、 'ear'、 'right'] 'なら 'lst [2]'は '' use''、lst [2] [-1] 'は' 'e''、' 'use''の最後の文字です。 –
ありがとうございます! :) – Nutshell93
以下のいずれかの回答が問題を解決する場合は、それを受け入れる必要があります(該当する回答の横にあるチェックマークをクリックしてください)。それは2つのことをします。あなたの問題があなたの満足のために解決されたことを誰にでも知らせることができます。詳しい説明は[here](http://meta.stackexchange.com/a/5235)を参照してください。 –