Найдите ошибку в коде, пожалуйста

357 просмотра
0
0 Комментариев

a=[]
b=int(input())
for i in range(b):
    a.append(input())
a=sorted(a)
for i in range(b):
    print(a[i])

При вводе: 4 34 243 43 292

Выдает: 243
292
34
43

Должно: 292
243
43
34

(Программа выводит числа в порядке убывания)


Добавить комментарий

1 Ответы

Python Опубликовано 12.12.2018
0

Боюсь, что заминусят за ответ на детский вопрос, но подытоживая советы коллег, которым я поставил «лайк», можно написать примерно так:

a=[]
b=int(input())
for i in range(b):
    a.append(int(input()))
a.sort(reverse=True)
for q in a:
    print(q)

Проблема кода (как уже говорилось) в том, что вы забыли при вводе конвертировать стоки в числа. В результате — сравнение отрабатывало правильно по правилам сравнения строк.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up