для некоторых входных данных в python3 в порядке возрастания списка не подходит - PullRequest
0 голосов
/ 04 сентября 2018

мой код:

n=int(input())
list_1 = []
for i in range(n):
    list_1.append(input())
list_2=[]

#print(list_1)    
while list_1:
    minimum = list_1[0] 
    for x in list_1: 
        if x < minimum:
            minimum = x
    list_2.append(minimum)
    list_1.remove(minimum)
print (' '.join(map(str, list_2)))

все выходные данные верны, но неправильные входят в некоторые данные, такие как

4
10
3
7
6

помогите пожалуйста

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Первое, что вы должны сделать при размещении здесь вопросов, это правильно объяснить вашу проблему и то, что делает код.

Теперь по вашему вопросу, Mono обнаружил проблему в вашем коде, но вы должны знать, что вам не нужно все это для сортировки списка чисел. Это уже существует на языке. Используйте функцию sort() в списке, например:

print("This script will ask you for numbers and print them back to you in order.")

print("Enter how many numbers you will input: ", end="")
n=int(input())

list_1 = []

print("Please type each number.")
for i in range(n):
    print("   Number", i, ": ", end='')
    list_1.append(int(input()))

list_1.sort()
print("These are your numbers, in order:")
print (' '.join(map(str, list_1)))

Вывод:

Этот скрипт запросит у вас номера и распечатает их вам по порядку.
Введите число, которое вы введете: 4
Пожалуйста, введите каждый номер.
Номер 0: 10
Номер 1: 2
Номер 2: 8
Номер 3: 3
Вот ваши номера, по порядку:
2 3 8 10

0 голосов
/ 04 сентября 2018

Ваш список 'list_1' представляет собой список строк, а для минимумов строк работает по-другому. Например, «10» <«3» - «Истина». </p>

Изменить строку:

list_1.append(input())

Кому:

list_1.append(int(input()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...