2016-09-26 1 views
0

私はこれまでのところ、コードのこの部分を終了しました:python3リスト内のランダム要素の両側で2つの要素を選択するにはどうすればよいですか?

wedding = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
from random import randrange 
random_index = randrange(0, len(wedding)) 
print('TV =', wedding[random_index]) 

私は私が私がランダムに選択した要素のいずれかの側に2つの要素を見つける必要があるステップで捕まってしまいました。

+0

次の時間あなたはこのコードサンプルとして、あなたのコードをフォーマットするコードサンプル、インデントを4つのスペースを押し{}ボタンで各ラインの質問を投稿したり、あなたのコードとCtrlキーを押しながらKを強調表示し、読むのがずっと楽になります:) – PrestonM

+0

私は質問をしません。どのような結果が出ていますか? – timgeb

+1

'wedding_ random_index-1 'と' wedding [random_index + 1] 'のどちらの側にも2つの要素がありますが、' random_index'が0または10の場合、リストインデックスが範囲外です。 –

答えて

0

配列を使用する場合は、コード内の配列境界を必ずチェックしてください。以下のコードは、ランダムに選択されたインデックス値の左右にある配列から値を出力します。いずれかのインデックスが範囲外の場合、その値は出力されません。

from random import randrange 

wedding = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
random_index = randrange(0, len(wedding)) 

print('TV = ', wedding[random_index]) 

if random_index-1 >= 0: 
    print('Left of Index = ', wedding[random_index-1]) 
if random_index + 1 < len(wedding) - 1: 
    print('Right of Index = ', wedding[random_index + 1]) 
関連する問題