Ding! De “fasten seat belt” lampjes zijn gaan branden. Tijd om snel je stoel te vinden.
De vlucht zit volledig vol, dus jouw stoel zou op de enige ontbrekende instapkaart op de lijst moeten staan. Er zit echter een addertje onder het gras: sommige stoelen vooraan en achteraan de reeks bestaan niet in dit vliegtuig, dus zullen die ook ontbreken in de lijst.
Jouw stoel was zeker niet helemaal vooraan en ook niet helemaal achteraan. De stoelen met stoel-IDs +1 en -1 ten opzicht van die van jouw stoel-ID komen dus zeker in de lijst voor.
Wat is de ID van jouw stoel? Bepaal dit op de volgende manier:
row
waaraan een stoel (str
) wordt doorgegeven. De functie moet teruggeven op welke rij (int
) de gegeven stoel zich bevindt.column
waaraan een stoel (str
) wordt doorgegeven. De functie moet teruggeven op welke kolom (int
) de gegeven stoel zich bevindt.seat_id
waaraan een stoel (str
) wordt doorgegeven. De functie moet de stoel-ID (int
) van de gegeven stoel teruggeven.missing_seat_id
waaraan de padnaam (str
) moet doorgegeven worden van een tekstbestand met een lijst van instapkaarten: elke regel bevat de stoel van een instapkaart. De functie moet de ontbrekende stoel-ID (int
) teruggeven op de gegeven lijst van instapkaarten.In deze interactieve sessie gaan we ervan uit dat het tekstbestand boarding_list.txt
1 zich in de huidige directory bevindt.
>>> row('FBFBBFFRLR')
44
>>> row('BFFFBBFRRR')
70
>>> row('FFFBBBFRRR')
14
>>> row('BBFFBBFRLL')
102
>>> column('FBFBBFFRLR')
5
>>> column('BFFFBBFRRR')
7
>>> column('FFFBBBFRRR')
7
>>> column('BBFFBBFRLL')
4
>>> seat_id('FBFBBFFRLR')
357
>>> seat_id('BFFFBBFRRR')
567
>>> seat_id('FFFBBBFRRR')
119
>>> seat_id('BBFFBBFRLL')
820
>>> missing_seat_id('boarding_list.txt')
658