リストを検証する関数を作成しようとしています。
基本的に、リスト内の特定の要素については、その前のアイテムまたは後ろのアイテムのいずれかが同じである必要があります。
適切なリストは次のように定義されます。
good_list = ["H", "H", "H", "M", "M", "L", "L", "M", "M", "H", "H", "H"]
不良リストは次のように定義されます。
bad_list = ["H", "M", "H", "M", "M", "L", "L", "M", "M", "H", "H", "H"]
私はさまざまな解決策を試し(そしてstackoverflowを読んで)数日を費やしました、そして以下は私が現在持っているものです、しかしそれは正しい答えを返していません。フィードバックに基づいて(ありがとう!)、それを更新し、引数の名前をリストからシーズンに変更して、ORにしました。それでも、「有効なリスト」が返されるべきではないのに、それはまだ返されますか?
bad_list = ["H", "M", "H", "M", "M", "L", "L", "M", "M", "H", "H", "H"]
def check_list(season):
for i, a in enumerate(season):
if season[i] == season[i-1] or season[i] == season[i+1]:
return True
return False
result = check_list(bad_list)
if result == True:
print "Valid list"
else:
print "Invalid list"