Книга «Изучаем Python»



Pdf көрінісі
бет154/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   150   151   152   153   154   155   156   157   ...   238
ПРИМЕЧАНИЕ

Убедившись,  что  стоимость  пришельцев  действительно  возрастает,  не  забудьте  удалить 

команду print; в противном случае лишний вывод повлияет на быстродействие игры и будет 

отвлекать игрока .




Подсчет очков    297

Округление счета

В большинстве аркадных «стрелялок» счет ведется значениями, кратными 10, и мы 

воспользуемся этой схемой в своей игре. Давайте отформатируем счет так, чтобы 

в больших числах группы разрядов разделялись запятыми. Изменения вносятся 

в классе 

Scoreboard

:

scoreboard.py

def prep_score(self):

"""Преобразует текущий счет в графическое изображение."""

        rounded_score = int(round(self.stats.score, -1))



        score_str = "{:,}".format(rounded_score)

self.score_image = self.font.render(score_str, True, self.text_color,

self.ai_settings.bg_color)

...

Функция 


round()

 обычно округляет дробное число до заданного количества зна-

ков, переданного во втором аргументе. Но если во втором аргументе передается 

отрицательное число, 

round()

 округляет значение до ближайших десятков, сотен, 

тысяч и т. д. Код  приказывает Python округлить значение 

stats.score

 до десят-

ков и сохранить его в 

rounded_score

.

ПРИМЕЧАНИЕ

В  Python  2 .7  функция  round()  всегда  возвращает  дробное  значение,  поэтому  мы  используем 

int(), чтобы гарантировать, что счет будет выводиться в виде целого числа . Если вы используете 

Python 3, вызов int() можно опустить .



Достарыңызбен бөлісу:
1   ...   150   151   152   153   154   155   156   157   ...   238




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

    Басты бет