печатать числа размером со второй параметр python - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь вырезать из списка все целые числа, которые меньше заданного параметра

lis = [23, 52, 91, 75, 3, 68, 17, 88, 105]
lis2 = []

y = int(input("give a minimum number"))

def printbigenough(lis, y):
    for i in range(len(lis)):
        if lis[i] > y: #checks if i is bigger than the given input
            lis2.append(i) # adds i to the second list (sort of)
    print(lis2)

printbigenough(lis, y)

, однако вместо того, чтобы возвращать числа, которые выше. программа просто печатает, какие позиции в списке имеют более высокие номера. Кто-нибудь знает, как это исправить? также, если это плохо сконструированный код или вопрос, извините ... я еще новичок в программировании

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Попробуйте этот код:

lis = [23, 52, 91, 75, 3, 68, 17, 88, 105]
lis2 = []

y = int(input("give a minimum number"))

def printbigenough(lis, y):
    for i in range(len(lis)):
        if lis[i] > y: #checks if i is bigger than the given input
            lis2.append(lis[i]) # adds i to the second list (sort of)
    print(lis2)

printbigenough(lis, y)

Проблема в том, что вы написали lis2.append(i) вместо lis2.append(lis[i])

1 голос
/ 06 мая 2020

Вот код, который возвращает список чисел, превышающих число.

lis = [23, 52, 91, 75, 3, 68, 17, 88, 105]
lis2 = []

y = int(input("give a minimum number"))

def printbigenough(lis, y):
    for i in lis:
        if i > y: #checks if i is bigger than the given input
            lis2.append(i) # adds i to the second list (sort of)
    print(lis2)

printbigenough(lis, y)
1 голос
/ 06 мая 2020

Это потому, что вы звоните lis2.append(i). Вы должны вызвать lis2.append(lis[i]), например:

lis = [23, 52, 91, 75, 3, 68, 17, 88, 105]
lis2 = []

y = int(input("give a minimum number: "))

def printbigenough(lis, y):
    for i in range(len(lis)):
        if lis[i] > y: #checks if i is bigger than the given input
            lis2.append(lis[i]) # adds the item to the second list (sort of)
    print(lis2)

printbigenough(lis, y)

i - это индекс элемента, а не элемента

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