Учитывая граничные значения от 1 до 30 строки всегда 10 мест ... ты лучше строить список значений, то индексация, например:
seats = ''.join(row * 10 for row in 'ABC') # add DEFG etc.. for additional rows
try:
print seats[15] # note Python indices are 0 based
except IndexError:
pass # no row found - do something
Таким образом, вы Кроме того, естественно, может проверить границы/добавить несколько строк - размеры сидений изменений для каждой строки ...
Вы можете включить строки с помощью вложенного списка-Comp, например:
seats = ['{}{}'.format(r, n) for r in 'ABC' for n in range(1, 11)]
#['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9', 'C10']
затем индексировать же, как и выше - например: seats[15]
дает 'B6'
Каковы границы, как - Что бы Автокресло 31 или 41 в качестве входных данных дают вам? У каждого ряда сидений всегда 10 мест? –
граничные значения от 1 до 30. строка всегда 10 мест –
Есть ли причина, по которой вам нужно иметь это в словаре? Это не похоже на правильную структуру, если это все, в чем вы нуждаетесь. – skaz