Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 8, 2022 17:37:10

diccob
Зарегистрирован: 2022-09-08
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

10 < 9 ПОЧЕМУ?

Суть задачи в том, чтобы поменять местами максимальное и минимальное число, но 10 определяется как меньшое 9
кодприкрепил фото с подробностями)
n, b, c = ''.join(list(input())), 0, 0
r = n.split()
for i in range(len(r)):
for l in range(len(r)):
if r < r:
if r < r:
b = l
if r < r:
if r > r:
c = i
r.insert(b, r)
r.insert(c+1, r)
r.pop(b+1)
r.pop(c+1)
print(' '.join(r))

Прикреплённый файлы:
attachment Вопрос.png (34,1 KБ)

Офлайн

#2 Сен. 8, 2022 19:50:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

10 < 9 ПОЧЕМУ?

diccob
но 10 определяется как меньшое 9
Потому что сравниваешь между собой строки, а не числа. Строка 10 меньше строки 9, потому что сначала сравнение идёт по первой цифре, а 1 меньше 9.

Тут строки переводятся в числа.
  
>>> numbers = list(map(int, input().split()))
1 2 3 10 9 1
>>> numbers
[1, 2, 3, 10, 9, 1]
>>> numbers.sort()
>>> numbers
[1, 1, 2, 3, 9, 10]
>>>



Отредактировано py.user.next (Сен. 8, 2022 19:51:11)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version