Создайте словарь, в котором ключами будут числа от 1 до 10, а значениями сумма всех чисел от 0 до текущего числа
новичок, пока совсем не понимаю как это сделать(
Ответы (3 шт):
Автор решения: Zhihar
→ Ссылка
задачу надо разбить на 3 части
- в цикле заполнить словарь
- определить текущее число
- вычислить сумму дней
заполнить в цикле можно используя цикл for и диапазон range(1, 11) (т.е. от 1 до 10)
в словарь можно записывать как в массив, т.е.
data[ключ] = значение
подсчитать сумму чисел можно 3 способами:
- в лоб через цикл
forи диапазонrange(0, day + 1) - через функцию
sumсписка содержащего числа от0доdayвключительно, а список можно получить превратив диапазон в списокlist(диапазон) - через формулу суммы членов арифметической прогрессии
S_n = (a_1 + a_n) * n / 2
определить текущее число можно
import datetime
day = int(datetime.datetime.now().strftime("%d"))
Автор решения: Vasyl Kolomiets
→ Ссылка
Вот. Но можно лучше ))
my_dict = dict()
for i in range(1, 11):
my_dict[i] = sum(range(i+1))
print(my_dict)
{1: 1, 2: 3, 3: 6, 4: 10, 5: 15, 6: 21, 7: 28, 8: 36, 9: 45, 10: 55}
Надеюсь я правильно понял, что такое ваше "текущее число"
Автор решения: ganz
→ Ссылка
сумма чисел есть факториал же, для этого даже в стандартной либе есть функция (если нету то каждая вторая пихает свою реализацию факториала), следовательно генератор, или цикл, не имеет особой разницы ответ прост {A=fact(A)...}