Отредактированный код:
def sorting(final_input):
final_output=[]
while 0 != len(final_input):
final_output+= [min(final_input)]
final_input.remove(min(final_input))
return(final_output)
final_input = []
while True:
user_input = input("Enter number or \"quit\": ")#
if "quit"in user_input.lower():################## I only changed these lines because I feel the program is more neat like this.
break
final_input.append(user_input)
print(final_input)
print(sorting(final_input))
Я переместил функцию наверх, чтобы она была определена до ее вызова.
В вашей функции вы пытались final_output[count]=value
,создать список.Это не работает в Python.Есть несколько «массив, как структуры данных».Создайте пустой список примерно так: final_output=[]
.Затем вы можете добавить к нему, либо final_output+=[value]
, либо final_output.append(value)
.Вы также можете сделать final_output=[value1,value2,value3]
, если вы знаете, какими будут все значения при создании списка.
Я добавил речевые метки вокруг «quit», так как это предотвратит неверное толкование строки как «Введите число».или выйти из программы », или« »« Введите номер или «выйти:» «».Я также сделал так, чтобы он больше не учитывал регистр или пунктуацию.
Результат:
Enter number or "quit": 8
Enter number or "quit": 3
Enter number or "quit": 9
Enter number or "quit": 0
Enter number or "quit": Quit.
['8', '3', '9', '0']
['0', '3', '8', '9']
Это тот результат, который вы хотели?