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

Python: 1.Напишите программу, которая получает с клавиатуры числа до тех пор, пока не будет введено число 0. В конце работы программы на экран выводится среднее арифметическое введённых чисел(не считая 0)
2.Напишите программу, которая получает с клавиатуры натуральное число N и определяет сумму всех его делителей, меньших самого числа. Например, для числа 8 эта сумма равна 1+2+4=7.


EpsilonZero: Если всё ок, то дай корону пж :)
EpsilonZero: А, и вывод поправил)))
d0neb4: тут такая проблемка получилась, допусти у 8 сумма делителей 24 выводит, в по примеру из задачи написано 7, что-то не так?
d0neb4: эй!?
d0neb4: смотри, по условию у 8 эта сумма равна 7, но по твоей программе эта сумма равна 24, в чем проблема?
EpsilonZero: поправил
d0neb4: Спасибо большущее
d0neb4: у меня тут нету штуки, чтобы поставить корону
d0neb4: в течении какого-то времени я тебе ее поставлю
EpsilonZero: спасибо.

Ответы

Автор ответа: EpsilonZero
1

# Задание 1

sumOfElements = 0

numberOfElements = 0

currentNumber = int(input())

while currentNumber != 0:

   sumOfElements += currentNumber

   numberOfElements += 1

   currentNumber = int(input())

if sumOfElements != 0:

   res = sumOfElements / numberOfElements

   res = round(res, 1)

print(res)

# Задание 2

arr = []  # array for divisors

number = int(input())

for i in range(1, number):

   if number % i == 0:

       arr.append(i)

print(sum(arr))

###############################детский вариант:

# Задание 1

res = 0

summ = 0

n = 0

a = int(input())

while a != 0:

   summ = summ + a

   n = n + 1

   a = int(input())

if summ != 0:

   res = summ / n

   res = round(res, 1)

print(res)

# Задача 2

summ = 0

n = int(input())

for i in range(1, n):

   if n % i == 0:

       summ = summ + i

print(summ)


d0neb4: ох, а если перевести все это на детский питон?
EpsilonZero: это детский
EpsilonZero: сек упрощу
d0neb4: слушай а как можно заменить arr.append(i)
d0neb4: на что-нибудь простое
d0neb4: мы просто этот массив не проходим, меня спросят за него
EpsilonZero: ну можно сразу с переменной суммировать
d0neb4: покажи как...
EpsilonZero: готово
EpsilonZero: сек
Автор ответа: vimmortal2
1

Программа:

Python:

№1 - вариант 1)

arr = []

element = float(input())

while element != 0:

   arr.append(element)

   element = float(input())

print(sum(arr)/len(arr))

№1 - вариант 2)

element = float(input())

elementSumm = elementCount = 0

while element != 0:

   elementCount += 1

   elementSumm += element

   element = float(input())

print(elementSumm/elementCount)

№2)

N = int(input())

summ = 0

for i in range(1, N):

   if N % i == 0:  summ += i

print(summ)


d0neb4: извини, бро, но чувак сверху раньше ответил, да были проблемки, но корона его)
Похожие вопросы