Выполняя внешнюю функцию, вы не выполняете ни одну из внутренних функций.Во всяком случае, их переменные находятся вне области видимости.
Если вы действительно хотите использовать функцию в функции (кстати, в этом нет необходимости), вы могли бы сделать свой код намного более лаконичным, используязакрытие.Кроме того, проще импортировать ваши пакеты один раз вверху:
import random
def diceRoll(roll):
def helper():
r = random.randint(1, roll)
print("The roll is", r)
return r
return helper
Затем, чтобы использовать это, вызовите возвращаемое значение diceRoll
:
numberOfRooms = diceRoll(6)()
Примечаниечто все это можно сделать так:
def diceRoll(roll):
r = random.randint(1, roll)
print("The roll is", r)
return r
И называется так:
numberOfRooms = diceRoll(6)