Создайте словарь, в котором ключами будут числа от 1 до 10, а значениями сумма всех чисел от 0 до текущего числа

новичок, пока совсем не понимаю как это сделать(


Ответы (3 шт):

Автор решения: Zhihar

задачу надо разбить на 3 части

  1. в цикле заполнить словарь
  2. определить текущее число
  3. вычислить сумму дней

заполнить в цикле можно используя цикл for и диапазон range(1, 11) (т.е. от 1 до 10)

в словарь можно записывать как в массив, т.е.

data[ключ] = значение

подсчитать сумму чисел можно 3 способами:

  1. в лоб через цикл for и диапазон range(0, day + 1)
  2. через функцию sum списка содержащего числа от 0 до day включительно, а список можно получить превратив диапазон в список list(диапазон)
  3. через формулу суммы членов арифметической прогрессии 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)...}

→ Ссылка