1) Сгенерировать список из 50 случайных элементов, значения от 1 до 10 (через бибилотеку random), после чего вывести среднее геометрическое этих элементов,
сумму всех чётных элементов и если сумма чётных элементов меньше 240, вывести сообщение "Сумма четных элементов равна:". Вместо звездочек должно быть значение суммы, посчитанное ранее.
2) Написать программу, которая на вход получает фразу (предложение из, как минимум трёх слов русского языка), если количество букв меньше 10, то выводится "Хорошо", если меньше выводится "Не хорошо".
!Python!
ответ: См. снимки экрана (код в объяснении)
Объяснение:
Первая программа:
from random import randint
def geo_mean(arr):
m = 1
for x in arr:
m *= x
res = m ** (1 / len(arr))
return res
def even_numb(arr):
sum = 0
for x in arr:
if not x % 2:
sum += x
return sum
res = m ** (1 / len(arr))
return res
arr = []
for i in range(50):
arr.append(randint(1, 10)) # Геренрирование случайных чисел
print(arr, '\n')
print("G =", geo_mean(arr)) # Среднее геометрическое
if even_numb(arr) < 240: # Сумма четных чисел
print("Сумма четных элементов равна", even_numb(arr))
Вторая программа:
def numb_words(s):
s = s.split()
l = len(s)
if l >= 3:
return True
def numb_letters(a):
return len(a) - a.count(' ')
a = input("Введите фразу: ")
if (numb_words(a)):
if numb_letters(a) < 10:
print("Хорошо")
else:
print("Не хорошо")