Я изучаю Python для начинающих, и есть один вопрос, на котором я застрял.
Этот вопрос включает в себя запрос пользователя на ввод любого количества выбранных грибов, ввод веса, а затем сортировку ихв соответствии с пользовательским вводом. Для этого требуется список и цикл while для добавления входных данных в список.
В настоящее время я пытаюсь реализовать значение часового значения, которое остановит цикл while после того, как будут введены все пользовательские входы,но установка часового как «STOP» конфликтует с уведомлением int ().
if __name__ == "__main__":
STOP = "stop"
mushroom = int(input("Enter a mushroom weight in grams, or STOP to end. "))
total_list = []
while total_list != STOP:
total_list.append(mushroom)
mushroom = int(input("Enter a mushroom weight in grams, or STOP to end. "))
print(total_list)
Программа работает до тех пор, пока не введет «STOP», где появляется синтаксическая ошибка.
mushroom = int(input("Enter a mushroom weight in grams, or STOP to end. "))
ValueError: invalid literal for int() with base 10: 'STOP'
Как видите, значение СТОП-СТОП противоречит моему предложению ввода, что приводит к ошибке.
Что касается второй части проблемы, мне нужно отсортировать входные значения по весу. Если все сделано правильно, у меня должен быть список со всеми значениями. Какой код я могу использовать для сортировки значений? Мне нужно отсортировать каждое целочисленное значение на основе малого (<100), среднего (100-1000) и большого (> 1000), а затем распечатать результаты в выражении. Я немного не понимаю, что мне нужно делать здесь.
Спасибо, просто застрял в одном месте.