(python) печать продолжает говорить «Нет» - PullRequest
0 голосов
/ 15 апреля 2020

Я делаю некоторый код для проекта, все, что я хочу сделать в тестовой функции - это я хочу распечатать каждое из значений 'list_total [y]', которые я ввожу

пример ввода

1 # forget this input for now, 

1 # the lines how many input i want to

100, 200 , 300 # i used a map 

, тогда это должно быть распечатано 100, 200 ,300, но вместо 'None'

моя цель - нарисовать самое высокое значение в каждом из 'list_total [y]', но кажется, что возвращаемое значение равно 'none'

, поэтому я также получаю сообщение об ошибке

'Ошибка типа: объект' NoneType 'не повторяется'

, когда я создаю код

like  return print(max(list_total[y]))

вот код, который я сделал ниже

T = eval(input(": "))


list_total = []


def test(value):

    for x in range(value):
            n = eval(input(": "))
            for y in range(n):
                list_total[y] = list_total.append(list(map(int, input(": ").split())))
                return print(list_total[y])  # make sure code is working




test(T)

1 Ответ

0 голосов
/ 15 апреля 2020

Если вы хотите заказать их здесь, вы должны сделать это следующим образом:

T = eval(input(": "))


list_total = []


def test(value):

    for x in range(value):
        n = eval(input("enter the "+str(x)+"th number: "))
        list_total.append(n)

    print(list_total)         
    return list_total.sort() # make sure code is working

test(T)
print(list_total)

Пример вывода:

: 4
enter the 0th number: 4
enter the 1th number: 2
enter the 2th number: 1
enter the 3th number: 2
[4, 2, 1, 2]
[1, 2, 2, 4]

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

Если вы все равно хотите проверить весь массив ... проблема, с которой вы столкнулись:

  1. вы используете метод map во вводимых данных , тебе здесь не нужно текст внутри ввода («вспомогательный текст») только подсказывает пользователю, что программа ожидает ввода. Вам не нужно убирать этот вспомогательный текст из ввода.

  2. иметь распечатку и возвращать отдельно

  3. исправить эту строку: list_total[y] = list_total.append(list(map(int, input(": ").split())))

  4. Внутренний для l oop не должен работать в диапазоне (n), попробуйте диапазон (len (list_total))

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

list_total = list(max(list_total))

...