Python

Ошибка в коде

Помогите, пожалуйста, найти ошибку в коде. При вводе положительного числа, считает только maximum, отрицательного - только minimum. Второй день над ним туплю(:
num = int(input('Введите число: '))
maximum = 0
minimum = -1
if minimum > num:
minimum = num
print(minimum)
if maximum < num:
maximum = num
print(maximum)
Амай Амаев
Амай Амаев
118
В данном коде отсутствует условие else после первого if, в связи с этим программа всегда выполняет второй if и печатает значение переменной maximum, если num больше maximum, и это происходит для всех значений num (даже для отрицательных).

Кроме того, переменная minimum начально установлена на -1. Это означает, что значение num отрицательное всегда будет меньше minimum и minimum будет установлено на этот отрицательное число. Если же введено положительное число, то minimum не изменяется и программа выводит неправильный результат.

Вот исправленный код:

num = int(input('Введите число: '))
maximum = num
minimum = num
if num < 0:
maximum = 0
minimum = num
print(minimum)
print(maximum)


Здесь мы сначала устанавливаем начальные значения maximum и minimum равными введенному числу num, а затем проверяем, если num отрицательное, то мы устанавливаем maximum на 0 и minimum на num. Если num положительное, то мы оставляем maximum и minimum равными num. После этого мы выведем значения minimum и maximum.
I. Ph
I. Ph
552
Лучший ответ
I. Ph Надеюсь помог)
Амай Амаев Еще как! Два дня пустого созерцания и 5 минут на исправление кода) КПД -огонь!
Спасибо за подробное объяснение!
На всякий случай оставлю результат здесь(вдруг еще кого-то на этом заклинит):

for num in range(2):
num = int(input('Введите число: '))
maximum = num
minimum = num
if num < 0:
maximum = 0
minimum = num
print(f'Максимум равен {maximum}')
print(f'Минимум равен {minimum}')
if num > -1:
minimum = -1
maximum = num
print(f'Минимум равен {minimum}')
print(f'Максимум равен {maximum}')
Ошибка - эти две строки:
 maximum = 0 
minimum = -1
Если введённое число меньше 0, оно заведомо меньше максимума, который ты прописал - максимум не меняется.
Если введённое число больше 0, оно заведомо больше минимума, который ты прописал - минимум не меняется.

Если ты вводишь ОДНО число, оно само является и минимумом, и максимумом.

Если ты вводишь НЕСКОЛЬКО чисел, то надо в качестве минимума и максимума задать первое введённое число, а потом сравнивать минимум и максимум со всеми остальными числами.
Виктор Савин
Виктор Савин
83 913