Вызов функции: NameError необходимо определить - PullRequest
0 голосов
/ 17 апреля 2020

Как я могу определить userMiles вне функции, чтобы иметь возможность вызывать ее, не помещая userMiles = float (input ()) вне функции?

def MilesToLaps(userMiles):
    """Convert miles to laps."""
    userMiles = float(input())
    userLaps = userMiles/0.25
    return userLaps


if __name__ == '__main__':
    print(MilesToLaps(userMiles))

1 Ответ

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

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

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

def MilesToLaps(userMiles):
    """Convert miles to laps."""
    userLaps = userMiles/0.25
    return userLaps


userMiles = float(input())

if __name__ == '__main__':
    print(MilesToLaps(userMiles))

Если вы не хотите передавать какой-либо аргумент функции, вы можете использовать глобальные переменные .

def MilesToLaps():
    """Convert miles to laps."""

    global userMiles

    userLaps = userMiles/0.25
    return userLaps


userMiles = float(input())

if __name__ == '__main__':
    print(MilesToLaps())

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

Всего наилучшего.

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