Вы можете применять list(args)
только тогда, когда arg
является итеративным, определенным в документации как «Объект, способный возвращать своих членов по одному за раз». Следовательно, list(int(mylist[0]))
не имеет смысла, поскольку вы, по сути, пытаетесь list(12)
, учитывая список ввода в вашем примере.
Вместо этого, возможно, вы хотите использовать for
l oop, чтобы выполнить итерацию по данному списку, сравнить каждый элемент в этом списке с myNum
, создать список, содержащий только элементы, которые меньше myNum
, отсортировать созданный список и распечатать его. Вот пересмотренный код, чтобы помочь вам начать. (Я сделал несколько стилистических изменений c, чтобы сделать функцию более Pythoni c и удобочитаемой, , то есть , заменив print
вызовы функции на оператор return
, et c.)
def thisFunction(mylist, myNum):
if myNum < min(mylist):
return f"There are no values less than numbers{myNum}"
else:
lst = [num for num in mylist if num < myNum]
lst.sort()
return lst
Мы можем проверить, есть ли какие-либо элементы меньше, чем myNum
в mylist
, с помощью функции min
. Если значения меньше myNum
, мы помещаем эти элементы в новый список с именем lst
и возвращаем его в отсортированном состоянии.
Проверьте вывод:
>>> print(thisFunction([12,4,5,6,7,11,56],10))
[4, 5, 6, 7]
>>> print(thisFunction([12,4,5,6,7,11,56],3))
There are no values less than 3