Как правильно нарезать петлю? - PullRequest
0 голосов
/ 22 февраля 2019

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

Например, если есть список Hello = [1,2,3,4,5,6,7,8] и пользователь вводит 5, есть ли способполучить вывод

4

5

6

7

8

Я пробовал

user_input = str(input(''))


for i in range(user_input):

   print(Hello[-i -1])

и, например, я ввожу 5,

Я получаю вывод

8

7

6

5

4

Ответы [ 4 ]

0 голосов
/ 22 февраля 2019

Если вы хотите изменить свой список, вы можете использовать list.reverse().И чтобы код делал то, что вы упомянули, вы можете использовать этот код:

Hello = [1,2,3,4,5,6,7,8]
a = int(input("Please input your number: "))
if a <= len(Hello):
    Hello.reverse()
    print(Hello[:a])
else:
    print("The value is too big")
0 голосов
/ 22 февраля 2019

Вы можете достичь этого, используя разрезание по питону и метод индекса.

Метод index () находит указанный элемент в списке и возвращает его позицию.

код:

hello = [1,2,3,4,5,6,7,8]
i = int(input('enter number: '))

if i in hello and hello.index(i) > 0:
    print(l[hello.index(i)-1:])

else:
    print('cant do this')

примечание:

Вы должны проверить, существует ли элемент в списке или деформировать свое утверждение с помощью try: исключая, иначе вы получите ValueError, если пользовательвведите номер, которого нет в списке.

Вы также должны реализовать, что делать, если пользователь введет первый элемент в списке или вы получите неожиданное значение.

0 голосов
/ 22 февраля 2019

Насколько я понимаю, вам нужно найти индекс входного значения в списке и разделить список от одного значения до индекса до конца:

start = Hello.index(user_input) - 1
print(Hello[start:])
0 голосов
/ 22 февраля 2019

Это простой способ:

user_input = int(input())

Hello = [1,2,3,4,5,6,7,8]
print(Hello[-user_input:])

вывод:

[4, 5, 6, 7, 8]

Если вы хотитекаждый номер должен быть напечатан в отдельной строке, вы можете сделать это так:

user_input = int(input())

Hello = [1,2,3,4,5,6,7,8]
print(*Hello[-user_input:], sep='\n')

вывод:

4
5
6
7
8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...