Перезаписать список при обратном вызове функции - PullRequest
0 голосов
/ 22 февраля 2020

Вот мой код:

List = []

def a():
    for i in range(5):
        i = int(input('Input Number {}: '.format(i+1)))
        List.append(i)
    print('\nThanks for adding')
    return mainMenu()

def b():
    print('List value is {}'.format(List))
    return mainMenu()

Список в глобальном

Так как переписать значение списка в len (5), если я go вернусь к функции def a ()?

Ответы [ 2 ]

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

если вы хотите изменить / перезаписать ваш List в функции a, вы можете сделать:

def a():
    List[:] = []
    for i in range(5):
        i = int(input('Input Number {}: '.format(i+1)))
        List.append(i)
    print('\nThanks for adding')
    return mainMenu()

таким образом, после вызова a вы всегда будете иметь только последние 5 входные данные в вашей переменной List

0 голосов
/ 22 февраля 2020
List = []

def a():
    global List 
    List = []
    for i in range(5):
        i = int(input('Input Number {}: '.format(i+1)))
        List.append(i)
    print('\nThanks for adding')
    return mainMenu()

def b():
    print('List value is {}'.format(List))
    return mainMenu()

Пожалуйста, определите переменную List как глобальную и объявите пустой List снова внутри функции a ()

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