Python Напишите программу, которая запрашивает у пользователя число до тех пор, пока он не введет цифру 0. Программа должна посчитать сумму всех положительных чисел. Также создайте словарь my_dict и добавьте туда, все отрицательные числа кратные 3, ключом должен
быть порядковый номер, под которым было введено это число.
мне нужен ток вот это часть:
Также создайте словарь my_dict и
добавьте туда, все отрицательные числа кратные 3, ключом должен
быть порядковый номер, под которым было введено это число.
я не знаю как так добавить в словар
Объяснение:
Т.к. я не знаю, как ты реализовал первую часть программы, скидываю тебе своё решение этой задачи целиком:
numbers_list = []
while True:
numbers = int(input("Введите число: "))
if numbers == 0:
break
else:
numbers_list.append(numbers)
sum_numbers = sum(numbers_list)
my_dict = {}
for x, y in enumerate(numbers_list):
if y % 3 == 0:
my_dict[x] = y # Замени на my_dict[x+1] = y, если надо считать с 1
print(f"Сумма всех введенных чисел: {sum_numbers}")
print(f"Словарь из чисел, кратных 3: {my_dict}")
Значит, смотри:
Создаём пустой лист. Далее вводим числа в бесконечном цикле, пока не получим 0 и складываем их в лист.
Затем, получаем сумму всех чисел при функции sum().
Потом создаём пустой словарик. И в цикле перебираем наш список с цифрами, используя enumerate (), чтобы получать индекс этого числа (то бишь, порядковый номер). Обрати внимание, что номер будет начинаться с нуля. Т.е. если тебе надо с 1, то просто в my_dict[x] = y поменяй на my_dict[x+1] = y и всё.
Ну и проходясь по списку с числами, мы проверяем каждое число, делится ли оно на 3 и если да, то добавляем в словарь. Где его ключ - это индекс, а значение - само число.
Пример работы программы, разумеется, прилагаю.