Потому что Python не знает, что такое time
, когда встречает это утверждение ot = time - 40
(аналогично, wage
). Вы присвоили time
в функции, и ее область действия остается локальной только для этой функции. Что вам нужно, это вернуться к функции вызывающей стороны.
def pay_param():
while True:
# ......
break
return time, wage
В computepay()
вам необходимо получить возвращаемое значение следующим образом:
def computepay():
time, wage = pay_param()
ot = time - 40
# Rest code as it is...