В прошлом году я поставил себе мини задачу: сделать код как можно короче. И сегодня я решил рассказать про этот код.
Я долго думал какую задачу для кода использовать чтобы было интересно было его сокращать.
Но на одном из уроков информатики нам надо было сделать программу на Паскале которая высчитывала бы среднее арифметическое из 3 чисел. И тогда я решил: буду делать калькулятор среднего бала
b=input('>');print(sum(int(x) for x in list(b))/len(b))
с первого взгляда тут ничего не понятно (и со второго тоже)
но на самом деле код довольно лёгкий
во первых объясню как он работает:
Теперь разберёмся как он это посчитал:
b=input(">");
получает оценки и сохраняет их в переменную b
рассмотрим следующую часть кода:
print(sum(int(x) for x in list(b))/len(b))
первое что нужно знать это то что первым решается то что в скобках
а так как скобок у нас 5 то считается то что в самых дальних скобках
посмотрим что у нас в скобках:
print(sum**(int(x) for x in list(b))**/len(b))
данная запись может показаться странной но я объясню как она работает
она переводит b(набор цифр) в список а затем переводит каждый элемент списка в числовой формат с помощью for
print(sum(int(x) for x in list(b))/len(b))
каждую полученную цифру складывает
print(sum(int(x) for x in list(b))/len(b))
делит на количество оценок
и наконец:
print(sum(int(x) for x in list(b))/len(b))
выводит ответ в консоль
Фух на этом статья и заканчивается! Мощных компьютеров вам и меньше багов! Удачи!