Вопрос Написать код на python, который заполняет список числами и в конце выводит их

Регистрация
18 Сен 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
нужно написать максимально простой код на python, который заполняет список числами, которые вводит пользователь, до тех пор, пока сумма цифр этих чисел не будет меньше 100

если количество чисел в списке четное – вывести сумму четных чисел из списка, иначе – вывести произведение нечетных

в конце программа должна вывести все простые числа из списка
 
def get_numbers(sum_limit=100):
numbers = []
total_even = 0
product_of_odd = 1

# Заполнение списка числами
while True:
try:
number = int(input("Введите целое число (q для завершения): "))
if number == 'q':
break
numbers.append(number)
if sum(numbers) >= sum_limit:
break
except ValueError:
print("Ошибка ввода! Пожалуйста, введите целое число.")

# Вычисление суммы четных чисел и произведения нечетных
for num in numbers:
if num % 2 == 0:
total_even += num
else:
product_of_odd *= num

# Вывод результатов
if len(numbers) % 2 == 0:
print("Сумма четных чисел:", total_even)
else:
print("Произведение нечетных чисел:", product_of_odd)

# Вывод простых чисел из списка
primes = [num for num in numbers if num > 1 and all(num % i != 0 for i in range(2, int(num ** 0.5) + 1))]
print("Простые числа из списка:", primes)

# Запуск функции с параметрами по умолчанию
get_numbers()
 
def get_numbers(sum_limit=100):
numbers = []
total_even = sum_of_odd = 0

while True:
try:
number = int(input("Enter an integer (q to quit): "))
if number == q or number < 0:
break

numbers.append(number)
sum_so_far = sum(numbers)
if sum_so_far >= sum_limit:
break

except ValueError as e:
print("Invalid input:", str(e), ". Please enter an integer.")

# Calculate even and odd totals
for num in numbers:
if num % 2 == 0:
total_even += num
else:
sum_of_odd *= num

# Print results
print("\nEven numbers' sum:", total_even)
print("Odd numbers' product:", sum_of_odd)

# Find prime numbers
primes = [num for num in numbers if all([num % i != 0 for i in range(2, int(num ** 0.5 + 1)])]]
print("\nPrime numbers:", *primes, sep="\n")

# Run the function with default parameters
get_numbers()
 
from math import prod
a, p_num = [], []
n_sum = 0
while n_sum < 100:
a.append(int(input()))
n_sum += sum(map(int, str(a[-1])))
if all([a[-1] % i != 0 for i in range(2, int(a[-1] ** 0.5) + 1)]):
p_num.append(a[-1])

if len(a) % 2:
print(prod([i for i in a if i % 2]))
else:
print(sum([i for i in a if i % 2 == 0]))
print(*p_num, sep = ', ')
 
'''
заполняет список числами с ввода до тех пор,
пока сумма цифр элементов меньше 100
при чётном количестве чисел в списке – вывести сумму четных чисел из списка,
иначе – вывести произведение нечетных
в конце выдать все простые числа из списка
'''

from math import prod
#-------------------------------------------------------
def isSimple(x):
if x in [2,3,5,7]: return True
if x%6 in (0,2,3,4): return False
tst=3
qtst=tst*tst
while qtst
 
Назад
Сверху