from decimal import Decimal, InvalidOperation def parse_int(value): try: # Пытаемся обработать как Decimal (поддерживает 1e32) num = Decimal(value) # Проверяем, что это целое число (без дробной части) if num != num.to_integral_value(): raise ValueError("Число не является целым") return int(num) except InvalidOperation: raise ValueError("Некорректный формат числа") def get_numbers(): while True: raw = input("Введите 15 целых чисел через пробел: ").strip() if not raw: print("Ошибка: ввод пустой. Попробуйте снова.\n") continue parts = raw.split() if len(parts) != 15: print(f"Ошибка: требуется ровно 15 чисел, получено {len(parts)}.\n") continue numbers = [] error_found = False for i, part in enumerate(parts, start=1): try: num = parse_int(part) numbers.append(num) except ValueError as e: print(f"Ошибка в элементе #{i} ('{part}'): {e}") error_found = True break if error_found: print("Попробуйте снова.\n") continue return numbers def main(): nums = get_numbers() nums.sort() print("\nОтсортированный список:") print(nums) if __name__ == "__main__": main()