Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 28 additions & 19 deletions exercises/concept/plane-tickets/generators.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@
def generate_seat_letters(number):
"""Generate a series of letters for airline seats.

:param number: int - total number of seat letters to be generated.
:return: generator - generator that yields seat letters.
Parameters:
number (int): Total number of seat letters to be generated.

Seat letters are generated from A to D.
After D it should start again with A.
Returns:
generator: A generator that yields seat letters.

Example: A, B, C, D
Note:
Seat letters are generated from A to D.
After D the sequence starts again with A.
For example: A, B, C, D, A, B

"""

Expand All @@ -20,17 +23,18 @@ def generate_seat_letters(number):
def generate_seats(number):
"""Generate a series of identifiers for airline seats.

:param number: int - total number of seats to be generated.
:return: generator - generator that yields seat numbers.
Parameters:
number (int): The total number of seats to be generated.

A seat number consists of the row number and the seat letter.
Returns:
generator: A generator that yields seat numbers.

There is no row 13.
Each row has 4 seats.
Note:
A seat number consists of the row number and the seat letter.
There is no row 13, and each row has 4 seats.

Seats should be sorted from low to high.

Example: 3C, 3D, 4A, 4B
Seats should be sorted from low to high.
For exampl: 3C, 3D, 4A, 4B

"""

Expand All @@ -39,10 +43,12 @@ def generate_seats(number):
def assign_seats(passengers):
"""Assign seats to passengers.

:param passengers: list[str] - a list of strings containing names of passengers.
:return: dict - with the names of the passengers as keys and seat numbers as values.
Parameters:
passengers (list[str]): A list of strings containing names of passengers.

Example output: {"Adele": "1A", "Björk": "1B"}
Returns:
dict: With passenger names as keys and seat numbers as values.
Example output: {"Adele": "1A", "Björk": "1B"}

"""

Expand All @@ -51,9 +57,12 @@ def assign_seats(passengers):
def generate_codes(seat_numbers, flight_id):
"""Generate codes for a ticket.

:param seat_numbers: list[str] - list of seat numbers.
:param flight_id: str - string containing the flight identifier.
:return: generator - generator that yields 12 character long ticket codes.
Parameters:
seat_numbers (list[str]): A list of seat numbers.
flight_id (str): A string containing the flight identifier.

Returns:
generator: A generator that yields 12 character long ticket codes.

"""

Expand Down
Loading