모두! 개인적인 프로젝트로서 tkinkter의 주사위 롤 애니메이션을 if 문만을 사전 값으로 사용하려고 시도하고 있습니다. 나는이 일을 본질적으로하고있다 :사전 값에서 함수 검색
def draw_dice(*args):
w,h = 23, 23
x,y,r = 2,2,5
c = tk.Canvas(root,width=w,height=h,bg='white')
dots = {
'dot0':None,
'dot1':c.create_oval(x, y, x + r, y + r, fill='black'),
'dot2':c.create_oval(x + 16, y, (x + 16) + r, y + r, fill='black'),
'dot3':c.create_oval(x, y + 8, x + r, (y + 8) + r, fill='black'),
'dot4':c.create_oval(x + 8, (y + 8), (x + 8) + r, (y + 8) + r, fill='black'),
'dot5':c.create_oval(x + 16, (y + 8), (x + 16) + r, (y + 8) + r, fill='black'),
'dot6':c.create_oval(x, y + 16, x + r, (y + 16) + r, fill='black'),
'dot9':c.create_oval(x + 16, y + 18, (x + 16) + r, (y + 16) + r, fill='black')
}
for arg in args:
dots.get(arg)
return c
코드는 실행되지만 예상대로 출력되지 않습니다. 함수에 전달 된 * 인수의 경우 선택 값은
'dot0', 'dot1'..., 'dot9' 또는 단순히 'dot1'일 수 있습니다.
광산의 다른 기능 내에서, 나는 회전 된 주사위를 움직이기 위해 다양한 주사위면을 뒤섞어 쓸 목록에 반환 된 c (캔버스)를 추가합니다.
하지만 문제는 아닙니다. 문제는이 기능에서 발생합니다.
가 가 'dot0': 없음, 'dot1'1 'dot2'
이상한 뭔가가 2 등이다 디버거를 실행 한 후, 나는 각 키의 값이 같은 것을 발견했습니다 이 데이터 구조를 잘못 사용하고 있을지 의심 스럽습니다. 어떤 도움이라도 대단히 감사하겠습니다!