#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
цикл с anif
.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:
Я мог бы склониться к сортировке предметов, потому что тогда, когда вы можете выбрать предметы большего размера, вы можете прекратить проверку. Я бы, наверное, отсортировал список в новый список и попытался проверить эффективность.