Предмет: Информатика, автор: sofiyavalchuk0997

Створити список з випадкових цілих чисел, а також словник у якому ключами є числа зі списку а значенням сума цифр цього числа(Пайтон,7 клас)

Ответы

Автор ответа: nevereas3
0

Ответ:

import random as rnd

def sum_of_digits(num):  

   summ = 0

   while num:

       summ, num = summ + num % 10, num // 10

   return summ

numbers = rnd.sample(range(50, 100), 10)

number_n_sum = {}    

for number in numbers:                      

   number_n_sum[number] = sum_of_digits(number)  

print(numbers)

print(number_n_sum)

Код с комментариями:

import random as rnd

def sum_of_digits(num):        # функция подсчета суммы цифр в числе

   summ = 0

   while num:

       summ, num = summ + num % 10, num // 10

   return summ

numbers = rnd.sample(range(50, 100), 10)  # в качестве аргументов range() - минимальное(включая) и

                              # максимальное(не включая) случайное значение целых чисел,

                              # в качестве аргумента после range() - их кол-во,

                              # выборка происходит без повторов

number_n_sum = {}                   # объявление словаря

for number in numbers:                         # цикл по каждому значению множества - т.е. по будущим ключам словаря

   number_n_sum[number] = sum_of_digits(number)  # добавление пары в словарь, где ключ - элемент множества,

                                              # а значение - сумма цифр этого числа

print(numbers)   # вывод изначальной случайно сгенерированной последовательности

print(number_n_sum)  # вывод словаря

Другие варианты реализации:

Как вариант, можно использовать функцию подсчета суммы цифр в числе как:

def sum_of_digits(num):

   return sum(int(digit) for digit in str(num))

Реализация через zip и map:

import random as rnd

numbers = rnd.sample(range(50, 100), 10)

number_n_sum = dict(zip(numbers, list(map(lambda num: sum(int(digit) for digit in str(num)), numbers))))

print(numbers)

print(number_n_sum)

----------------------------
Успехов

Похожие вопросы
Предмет: Русский язык, автор: nurtay868