Python

Задача по питону для начинающих

Помогите, пожалуйста, сообразить, какой алгоритм тут нужен. Не совсем понимаю. Заранее премного благодарна
Задача содержит грубую ошибку в определении действий: сначала требуется удалить из списка все элементы ПОСЛЕ элемента равному по значению с вводимым числом, а в примере указывается совсем другое, а именно удаление всех элементов НАЧИНАЯ С элемента равного введённому числу. Понятно о чём я говорю? Это же совершенно разные задачи!
Вот, например, решение первой задачи:
 A, n = [i for i in range(1, 11)], int(input('n: ')) 
if n in A:
for i in range(n + 1, 11): A.remove(i)
print(A)
А вот решение второй задачи:
 A, n = [i for i in range(1, 11)], int(input('n: ')) 
if n in A:
for i in range(n, 11): A.remove(i)
print(A)
Чувствуете разницу? И ещё требуется ведь удалить элементы из списка, а не пересоздать список заново, хотя бы даже из уже существующего списка, так что вариант решения
 A, n = [i for i in range(1, 11)], int(input('n: ')) 
if n in A: A = A[: n - 1]
print(A)
по-моему тут не очень подходит...
Николай Васильев
Николай Васильев
66 572
Лучший ответ
 print(a := [i for i in range(1, 11)], a[:a.index(b)] if (b := int(input())) in a else a, sep='\n') 
Внутри цикла создается новый список куда поочередно записываются числа из списка,перед ним имеется сравнение, если число равно подаваемому в цикл числу то цикл прерывается и работает команда принт выводя все элементы нового списка
 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

n = 3

spisok = []
for i in a:
spisok.append(i)
if i == n:
break

print(spisok)

Или так, если не нужно выводить число после которого прерывается список:

 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

n = 3

spisok = []
for i in a:
spisok.append(i)
if i == n:
spisok.remove(n)
break

print(spisok)

А ещё можно так:

 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

print(a[:2])

Вот так ещё можно, чтобы максимально соответствовало вашему примеру:

 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

n = int(input("Введите число: ")) - 1

print(a[:n])
Можно сделать через поиск элемента, а потом взять срез до этого элемнта
Доп. E-Mail Доп. E-Mail Да, это куда элегантней моего нубского предложения