Отказ от ответственности: это не мой код. Он возник из graphics.py , созданного доктором Джоном Зелле.
Где rate
объявлено как число? Я понимаю, что это ключевой аргумент типа None
, но как это pauselength = 1/rate-(now-_update_lasttime)
допустимо? Насколько мне известно, это говорит о том, что 1
делится на None
.
import time, os, sys
try: # import as appropriate for 2.x vs. 3.x
import tkinter as tk
except:
import Tkinter as tk
# global variables and functions
_root = tk.Tk()
_root.withdraw()
_update_lasttime = time.time()
def update(rate=None):
global _update_lasttime
if rate:
now = time.time()
pauseLength = 1/rate-(now-_update_lasttime)
if pauseLength > 0:
time.sleep(pauseLength)
_update_lasttime = now + pauseLength
else:
_update_lasttime = now
_root.update()
Простой эксперимент:
a = None
b = 1
print(b/a)
Показывает следующую ошибку (которая имеет полное значение):
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'