Почему при вводе в n единицы в итоге выводятся две единицы, а не одна? Откуда взялась вторая?
n = int(input())
total = 0
x = n // 5
y = n - 5 * x
z = (5 * x) // 25
a = (5 * x - z * 25) // 10
if n == 1 or n == 5 or n == 10 or n == 25:
print('1')
if 1 < n <= 9 and not(n == 1 and n == 5 and n == 10 and n == 25):
total += x + y + z + a
else:
total += y + z + a
print(total)
Python
Программирование Python, ошибка
Проблема с выводом двух единиц возникает из-за неправильного использования условных операторов в вашем коде.
В вашем коде, в блоке if 1 < n <= 9 and not(n == 1 and n == 5 and n == 10 and n == 25):, условие n == 1 and n == 5 and n == 10 and n == 25 всегда будет ложным, потому что переменная n не может одновременно быть равной 1, 5, 10 и 25 одновременно. Это означает, что ветка else будет выполняться всегда, когда n не равно 1, 5, 10 или 25.
Чтобы исправить это, вам нужно изменить условие в блоке if на что-то более логичное. Например, вы можете использовать оператор in для проверки, содержится ли значение n в списке [1, 5, 10, 25]. Тогда ваш код будет выглядеть следующим образом:
python
Copy code
В вашем коде, в блоке if 1 < n <= 9 and not(n == 1 and n == 5 and n == 10 and n == 25):, условие n == 1 and n == 5 and n == 10 and n == 25 всегда будет ложным, потому что переменная n не может одновременно быть равной 1, 5, 10 и 25 одновременно. Это означает, что ветка else будет выполняться всегда, когда n не равно 1, 5, 10 или 25.
Чтобы исправить это, вам нужно изменить условие в блоке if на что-то более логичное. Например, вы можете использовать оператор in для проверки, содержится ли значение n в списке [1, 5, 10, 25]. Тогда ваш код будет выглядеть следующим образом:
python
Copy code
n = int(input())
total = 0
x = n // 5
y = n - 5 * x
z = (5 * x) // 25
a = (5 * x - z * 25) // 10
if n in [1, 5, 10, 25]:
print('1')
else:
total += x + y + z + a
print(total)
Михаил Наумчик
Благодарю!
Первая - print('1')
Вторая - print(total)
Вторая - print(total)
Михаил Наумчик
Благодарю!
if n in [1, 5, 10, 25]: print('1')
elif 1 < n
Михаил Наумчик
Благодарю!
Похожие вопросы
- Программирование Python, ошибка.
- Кто знает почему выходит ошибка? ПРОГРАММИРОВАНИЕ PYTHON
- Нужна помощь.(Язык программирования Python)
- Решите с помощью языка программирования Python!
- Язык программирования Python не могу найти ошибку в коде
- Как изучить язык программирования Python ?
- Люди которые знают язык программирования Python, расскажите сколько на это ушло времени и где вы учили Python?
- По поводу языка программирования Python...
- Sqlite3 python ошибка: Error user-defined function raised exception
- Где и как эфективнее всего изучать язык программирования Python?