2016-09-26 2 views
0

Ich habe diesen Teil des Codes so weit fertig:python3 Wie wähle ich zwei Elemente auf beiden Seiten eines zufälligen Elements in einer Liste?

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]) 

ich in einem Schritt stecken geblieben, die ich brauche zwei Elemente auf beiden Seiten des Elements zu finden, die ich zufällig ausgewählt habe.

+0

nächste Mal, wenn Sie eine Frage mit einem Codebeispiel Post Spiegelstrich jede Zeile mit 4 Leerzeichen, drücken Sie die Taste {}, oder markieren Sie den Code ein und drücken Sie Strg + K. Dieser Code als Codebeispiel formatiert und mache es viel einfacher zu lesen :) – PrestonM

+0

Ich bekomme die Frage nicht. Wie soll das Ergebnis aussehen? – timgeb

+1

Zwei Elemente auf jeder Seite sind 'wedding [random_index-1]' und 'wedding [random_index + 1]', aber Sie könnten einen "list index out of range" -Fehler bekommen, wenn Ihr 'random_index' entweder 0 oder 10. –

Antwort

0

Überprüfen Sie bei der Verwendung von Arrays immer die Array-Grenzen in Ihrem Code. Der folgende Code gibt den Wert aus dem Array aus, der links und rechts neben dem zufällig ausgewählten Indexwert liegt. Wenn einer der Indizes außerhalb der Grenzen liegt, wird dieser Wert nicht ausgegeben.

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]) 
Verwandte Themen