def count_odd_numbers(numbers):
if any(n < 0 for n in numbers):
return "\033[91m❌ Введите положительное число! ❌\033[0m"
odd_count = sum(1 for n in numbers if n % 2 != 0)
if odd_count <= 0:
return "\033[93m⚠️ Нечетных чисел нет! ⚠️\033[0m"
return f"\033[92m✅ Количество нечетных чисел: {odd_count} ✅\033[0m"
def analyze_numbers(numbers):
analysis = []
for n in numbers:
if n % 2 == 0:
analysis.append(f"\033[96m? {n} - четное ?\033[0m")
else:
analysis.append(f"\033[95m? {n} - нечетное ?\033[0m")
return "\n".join(analysis)
def calculate_statistics(numbers):
total = sum(numbers)
average = total / len(numbers)
maximum = max(numbers)
minimum = min(numbers)
stats = (
f"\033[92m? Сумма: {total} ?\033[0m\n"
f"\033[92m? Среднее: {average:.2f} ?\033[0m\n"
f"\033[92m? Максимум: {maximum} ?\033[0m\n"
f"\033[92m? Минимум: {minimum} ?\033[0m"
)
return stats
def print_histogram(odd_count, even_count):
histogram = "\n\033[94m? Гистограмма:\033[0m\n"
histogram += f"Четные: {'⭐' * even_count}\n"
histogram += f"Нечетные: {'?' * odd_count}\n"
return histogram
def print_separator():
print("\n" + "\033[94m" + "?" * 40 + "\033[0m" + "\n")
while True:
try:
user_input = input("\033[94m? Введите 4 числа через пробел: \033[0m").strip()
if not user_input:
print("\033[93m⚠️ Вы ничего не ввели. Пожалуйста, введите 4 числа. ⚠️\033[0m")
continue
numbers = list(map(lambda x: int(float(x)), user_input.split()))
if len(numbers) != 4:
print("\033[93m⚠️ Пожалуйста, введите ровно 4 числа. ⚠️\033[0m")
continue
result = count_odd_numbers(numbers)
print_separator()
print(result)
analysis_result = analyze_numbers(numbers)
print("\033[94m? Анализ введенных чисел:\033[0m")
print(analysis_result)
stats_result = calculate_statistics(numbers)
print("\n\033[94m? Статистика:\033[0m")
print(stats_result)
odd_count = sum(1 for n in numbers if n % 2 != 0)
even_count = len(numbers) - odd_count
histogram_result = print_histogram(odd_count, even_count)
print(histogram_result)
print_separator()
repeat = input("\033[94m? Хотите ввести еще раз? (да/нет): \033[0m").strip().lower()
if repeat != 'да':
print("\033[92m? Спасибо за использование программы! ?\033[0m")
break
except ValueError:
print("\033[91m? Пожалуйста, введите корректные целые числа. ?\033[0m")
Лови это лучший код ))