У вас есть оператор возврата в def ShotTime, но у вас нет ShotTime, равного чему-либо.
Редактировать: Чтобы уточнить, у вас есть `def ShotTime (matchtime, shottime):
if shottime == 0 and matchtime > 900:
shottime = 30
return matchtime, shottime
elif matchtime <= 900 and shottime == 0:
shottime = 20
return matchtime, shottime`
Таким образом, у вас есть операторы возврата.
if shottime == 0:
ShotTime(matchtime, shottime)
print (shottime)
, но в def countdown () вы не устанавливаете его равным чему-либо.Я полагаю, что в Python вы должны сделать что-то вроде x = ShotTime (matchtime, shottime), и это вернет массив, затем сделайте как matchtime = x [0], затем shottime = x [1]
edit2: этоэто лучший способ thx @kevin matchtime, shottime = ShotTime (matchtime, shottime)
Это связано с переменной областью действия.Если это не глобальная переменная, переменные остаются в функции, которую они создали.То, что оно имеет одно и то же имя, не означает, что это одна и та же переменная.