Выведите все числа, меньшие последнего числа в списке на python

#python

Вопрос:

Как я могу напечатать только те числа, которые меньше последнего числа в списке?

Я пытаюсь напечатать все числа, меньшие, чем последнее число в списке, с помощью python. Список основан на вводе данных пользователем. Примерами номеров для ввода пользователем являются:

 5
40
50
160
300
75
100 (the last number)
 

Я не хочу печатать первый или последний номер. В первом номере указано, сколько номеров в списке необходимо проверить. Мой код предоставляет только текущие номера в списке. Я не могу понять, как получить только те числа, которые меньше последнего числа в списке. Я не хочу использовать функции или массив. Это должно быть для/в то время как/еще/если/диапазон или что-то в этой области.

 lst = [] #the list 
n = int(input()) #user input
  
for i in range(-1, n):
    ele = int(input())
    lst.append(ele) # adding the element'

print(*lst, sep = "n")
 

Комментарии:

1. Не могли бы вы уточнить, в чем именно заключается ваш вопрос?

2. Используйте for i in range(n) и читайте о понимании списков

3. Есть ли какая-то особая причина, по которой вы вообще не использовали < оператор в коде?

4. 1. прочитайте n. 2. прочитайте еще n чисел в списке. 3. прочитайте последний номер. Используйте понимание списка, чтобы печатать только числа в списке, меньшие, чем последнее число, или используйте другой for цикл с an if .

5. less = [i for i in lst if i < lst[-1]]

Ответ №1:

Если у вас есть список:

 List=[5, 40, 50, 160, 300, 75, 100]
 

List[-1] является 100

Чтобы напечатать все элементы меньшего размера, чем 100 (последний элемент в списке):

 n=int(input("Limit: "))) # Limiting number of comparisons with user input
smaller_numbers=[] # Creating a new list to store all the smaller values
for i in List[:n]: # Looping through the list to compare every element
    if i<List[-1]: # Seeing if the number is smaller than the last element of the list
        smaller_numbers.append(i) # if True the number will be appended to the new list

print(smaller_numbers)
 

Выход:

(если пользовательский ввод равен 8):

 [5, 40, 50, 75]
 

Комментарии:

1. Спасибо всем вам за вашу помощь!!!! Искренне признателен! Yungmaz13 ваш ответ помог мне понять, чего мне не хватало. Я не знал, что вы можете создать список для хранения номеров из другого списка. Нужно еще много учиться. Очень полезно. Спасибо!

2. @TKO Без проблем! 🙂 В следующий раз постарайся быть яснее, хотя было трудно понять, чего ты хочешь.

Ответ №2:

 def list_check(list):
 big_number = list[-1]
 for I in list[1:]:
     if I < big_number:
        print(I)
 

Я не понимаю, как вы хотите, чтобы пользовательский ввод сыграл в этом роль, но если вы запустите список через это, он проверит последнее число по всем числам в списке, не включая первое число.

Ответ №3:

Я мог бы склониться к сортировке предметов, потому что тогда, когда вы можете выбрать предметы большего размера, вы можете прекратить проверку. Я бы, наверное, отсортировал список в новый список и попытался проверить эффективность.