質問内容
Python3.7.1を使っています。下のコードは、2次元セルオートマトンです。これを実行しようとすると、attributeエラーが出てきます。そこでtkinterのupdateとupdate_idletasksを入れることで解決しようと思っていましたが、どのようにダウンロードすればよいか分かりません。教えていただけると嬉しいです。
コード
from tkinter import * import time import tkinter as tk #■配列の宣言 def array2(N1,N2): return [[0 for j in range(N2)]for k in range(N1)] def array3(N1,N2,N3): return [array2(N2,N3)for k in range(N1)] #■セルの初期設定 def initdt(N): A=array3(2,31,31); A[0][15][15]=N-1 return A #■セルオートマトンの実行 def execCell(A,i1,i2,Mod): for i in range(1,30): for j in range(1,30): T=(A[i1][i][j-1]+A[i1][i][j+1]+A[i1][i-1][j]+A[i1][i+1][j]) A[i2][i][j]=T % Mod #■セルの位置決めとIDの設定 def drawCell(canvas,A,k): x2=0 CID=array2(31,31) for i in range(1,30): x1=x2 x2=x1+10 y2=0 for j in range(1,30): y1=y2 y2=y1+10 CID[i][j]=canvas.create_rectangle(x1,y1,x2,y2,fill='black') return CID #■セルの色設定 def modifyCell(canvas,A,k,CID): CL=['black','#FFFF00','#ff0000','#00ff00','#0000FF'] for i in range(1,30): for j in range(1,30): canvas.itemconfig(CID[i][j],fill=CL[A[k][i][j]]) canvas.itemconfig(CID[i][j],outline=CL[A[k][i][j]]) #■Tk初期設定 def initTk(): tk=Tk(); tk.title("2D Cell Automaton"); tk.resizable(0,0) return tk #■待ち処理等 def wait(): tk.update_idletasks() tk.update() time.sleep(0,2) #■画面キャプチャ用 def leftMouseDown(event): global canvas, A,k,CID modifyCell(canvas,A,k,CID) execCell(A,k,1-k,5) k=1-k #■実行メイン A=initdt(5) root=initTk() canvas=Canvas(root,width=290,height=290,highlightthickness=0) canvas.pack() root.update() CID=drawCell(canvas,A,0) k=0 while 1: modifyCell(canvas,A,k,CID) execCell(A,k,1-k,5) wait() k=1-k
エラーメッセージ
Traceback (most recent call last): File "2dcell.py", line 65, in <module> wait() File "2dcell.py", line 45, in wait tk.update_idletasks() AttributeError: module 'tkinter' has no attribute 'update_idletasks'

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/03 16:33
2018/12/03 17:07