Помогите, пожалуйста, найти ошибку в коде. При вводе положительного числа, считает только maximum, отрицательного - только minimum. Второй день над ним туплю(:
num = int(input('Введите число: '))
maximum = 0
minimum = -1
if minimum > num:
minimum = num
print(minimum)
if maximum < num:
maximum = num
print(maximum)
Python
Ошибка в коде
В данном коде отсутствует условие 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.
Кроме того, переменная 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.
Ошибка - эти две строки:
Если введённое число больше 0, оно заведомо больше минимума, который ты прописал - минимум не меняется.
Если ты вводишь ОДНО число, оно само является и минимумом, и максимумом.
Если ты вводишь НЕСКОЛЬКО чисел, то надо в качестве минимума и максимума задать первое введённое число, а потом сравнивать минимум и максимум со всеми остальными числами.
maximum = 0
minimum = -1
Если введённое число меньше 0, оно заведомо меньше максимума, который ты прописал - максимум не меняется.Если введённое число больше 0, оно заведомо больше минимума, который ты прописал - минимум не меняется.
Если ты вводишь ОДНО число, оно само является и минимумом, и максимумом.
Если ты вводишь НЕСКОЛЬКО чисел, то надо в качестве минимума и максимума задать первое введённое число, а потом сравнивать минимум и максимум со всеми остальными числами.
Похожие вопросы
- Где ошибка в коде? (Python)
- Ошибка в коде стандарт PEP8 Python
- Ошибка в коде python discord.py
- ПОМОГИТЕ НАЙТИ ОШИБКУ В КОДЕ (выводит наибольшее и наименьшее а среднее нет)
- Discord.py ошибка в коде
- Ошибка в коде на Python
- Сижу уже час, не пойму где ошибка в коде. Задача с acmp.ru
- Помогите исправить ошибку в коде. Python
- Помогите пожалуйста найти ошибку в коде, третий день голову ломаю
- Найдите ошибку в коде
Спасибо за подробное объяснение!
На всякий случай оставлю результат здесь(вдруг еще кого-то на этом заклинит):
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}')