М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет82/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   78   79   80   81   82   83   84   85   ...   334
Байланысты:
Изучаем Python


Глава 6 • Словари
Сначала определяется словарь 
alien_0
, который содержит только цвет пришельца; 
затем значение, связанное с ключом 
'color'
, меняется на 
'yellow'
. Из выходных 
данных видно, что цвет пришельца действительно сменился с зеленого на желтый:
The alien is green.
The alien is now yellow.
Рассмотрим более интересный пример: отслеживание позиции пришельца, который 
может двигаться с разной скоростью. Мы сохраним значение, представляющее 
текущую скорость пришельца, и используем его для определения величины гори-
зонтального смещения:
alien_0 = {'x_position': 0, 'y_position': 25, 'speed': 'medium'}
print(f"Original position: {alien_0['x_position']}")
# Пришелец перемещается вправо.
# Вычисляем величину смещения на основании текущей скорости.

if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
# Пришелец двигается быстро.
x_increment = 3
# Новая позиция равна сумме старой позиции и приращения.

alien_0['x_position'] = alien_0['x_position'] + x_increment
print(f"New position: {alien_0['x_position']}")
Сначала определяется словарь с исходной позицией (координаты 
x
и 
y
) и скоростью 
'medium'
. Значения цвета и количества очков для простоты опущены, но с ними 
этот пример работал бы точно так же. Аналогично выводится исходное значение 
x_position
.
В точке 

цепочка 
if
-
elif
-
else
определяет, на какое расстояние пришелец должен 
переместиться вправо; полученное значение сохраняется в переменной 
x_increment

Если пришелец двигается медленно (
'slow'
), то он перемещается на одну единицу 
вправо; при средней скорости (
'medium'
) он перемещается на две единицы вправо; 
наконец, при высокой скорости (
'fast'
) он перемещается на три единицы вправо. 
Вычисленное смещение прибавляется к значению 
x_position
в 

, а результат со-
храняется в словаре с ключом 
x_position
.
Для пришельца со средней скоростью позиция смещается на две единицы:
Original x-position: 0
New x-position: 2
Получается, что изменение одного значения в словаре изменяет все поведение при-
шельца. Например, чтобы превратить пришельца со средней скоростью в быстрого, 
добавьте следующую строку:
alien_0['speed'] = fast


Работа со словарями
111
При следующем выполнении кода блок 
if
-
elif
-
else
присвоит 
x_increment
большее 
значение.
Удаление пар «ключ-значение»
Когда информация, хранящаяся в словаре, перестает быть нужной, пару «ключ-
значение» можно полностью удалить при помощи команды 
del
. При вызове до-
статочно передать имя словаря и удаляемый ключ.
Например, в следующем примере из словаря 
alien_0
удаляется ключ 
'points'
вместе со значением:


Достарыңызбен бөлісу:
1   ...   78   79   80   81   82   83   84   85   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет