@provocatorr
python student

Как можно сократить / оптимизировать решение задачи на Python?

Есть задача:
Если бы вы сейчас были на Луне, ваш вес составил бы 16,5 процентов от земного. Если бы каждый год в течение следующих 15 лет вы прибавляли по одному килограмму веса, каким бы оказался ваш лунный вес в каждый из ежегодных визитов на Луну вплоть до 15-го года? Напишите программу, которая с помощью цикла for печатает на экране ваш лунный вес в каждом году.

Мое решение:
earth_weight = 70
moon_index = 0.165
moon_weight_2018 = earth_weight * moon_index
print('Ваш вес в 2018 году: ' + str(moon_weight_2018))

for i in range(1, 16):
    print(i, round(earth_weight * moon_index, 2))
    earth_weight += 1


Вопрос: какие косяки есть / что не верно, что можно упростить?
Сразу замечу, что до функций еще не дошел.
Спасибо.
  • Вопрос задан
  • 1428 просмотров
Решения вопроса 1
Как-то так:
weight, moon = 70, 0.165
print("Ваш вес в 2018 году:", weight * moon)
print(*[str(i) + " " + str(round((weight + i-1) * moon, 2)) for i in range(1, 16)], sep="\n")

P. S. Только не знаю, насколько сложный для понимания этот код.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@nukler
местный юродивый
Если слегка оптимизировать то

earth_weight = 70
moon_index = 0.165
year_now = datetime.date.today().year

for i in range(1, 16):
	print(f"Ваш вес в {year_now} году: {round(earth_weight * moon_index, 2)} кг" )
	earth_weight += 1
	year_now +=1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы