Когда в скрипте необходимо создать переменную в зависимости от значения другой переменной обычно используют конструкции if / elif / else. На информатике подобное называют множественным ветвлением. Например:
"""
population = 437000
x = population
if x > 5000000:
city_id = 1
elif x < 5000000 and x >= 3000000:
city_id = 2
elif x < 5000000 and x >= 3000000:
city_id = 2
elif x < 3000000 and x >= 1000000:
city_id = 3
elif x < 1000000 and x >= 500000:
city_id = 4
elif x < 500000 and x >= 250000:
city_id = 5
elif x < 250000 and x >= 100000:
city_id = 6
elif x < 100000 and x >= 10000:
city_id = 7
elif x < 10000:
city_id = 8
else:
print 'error'
"""
В случае когда входное значение может принадлежать всей шкале, без специальных исключений, удобно использовать словарь, в котором ключи будут вычисляться. Конструкция выглядит наглядней, её легче читать и править:
"""
population = 437000
x = population
city_id = {
x > 5000000: 1,
x < 5000000 and x >= 3000000: 2,
x < 3000000 and x >= 1000000: 3,
x < 1000000 and x >= 500000: 4,
x < 500000 and x >= 250000: 5,
x < 250000 and x >= 100000: 6,
x < 100000 and x >= 10000: 7,
x < 10000: 8
}[True]
"""
Комментариев нет:
Отправить комментарий