2017-12-09 1 views
0

요즘 저는 무작위로 52 장의 포커 카드에서 4 장의 포커 카드를 가져올 프로그램을 작성하고 있습니다. 파이썬 거북이 모듈로이 포커를 그려야합니다. 지금 여기 내 질문입니다 : 제가 각도를 설정 do.settheading()를 사용하려면어떻게 파이썬 turtle.write() 메서드에서 텍스트를 거꾸로?

import turtle as do 
def generate_digital(number, x, y, start_angle, size): 
    ''' 
     this function generate '2-10' 
     parameters: 
     number: this is number you want to write 
     x and y: this is the pen's initial location 
     start_angle: the pen's initial direction 
     size: the number's size 
    ''' 
    do.penup() 
    do.goto(x, y) 
    do.pensize(30) 
    do.setheading(start_angle) 
    do.write(number, font=("Arial", size, "normal")) 

: 부지깽이에 거꾸로 번호, just like this(the bottom right corner number)

처음에 거기에 원인이 나는 숫자를 생성하기 위해이 코드를 사용하려면 번호의, 그러나 나는 그것이 작동하지 않았다는 것을 것을을 발견했다! 이제 ......

를 내가 5 얻을 수 있지만이 do.write() 메소드를 사용하여 거꾸로 5를 얻을 수없는, 자신이 생각할 수있는 유일한 방법이

을 사용하는 것입니다
def generate_photo_2(x, y, start_angle, size): 
    ''' 
     this function generate a '2' 
     parameters: 
     just like last function 
    ''' 
    do.penup() 
    do.goto(x, y) 
    do.pensize(3) 
    do.setheading(start_angle) 
    do.pendown() 
    do.circle(-size, 200) 
    do.fd(2 * size) 
    do.left(45) 
    do.fd(0.6 * size) 
    do.left(90) 
    do.fd(2 * size) 

숫자를 '그리는'코드와 시작 각도를 설정하여 위쪽의 숫자 2를 그릴 수 있지만 많은 문제가 발생하지 않습니까?

아무도 나에게 역순으로 번호를 쓰는 방법을 알려줄 수 있습니까? 대단히 감사합니다!

답변

1

turtle에는 텍스트를 거꾸로 표시 할 수있는 기능이 없습니다.

그러나 turtletkinter 모듈과 Canvas 위젯 위에 구축되는 방법이있는

import turtle 

c = turtle.getcanvas() 

item_id = c.create_text(0, 0, text='5', angle=180, font=("Arial", 30, "normal")) 

turtle.mainloop() # run tkinter event loop 

나중에는 item_id

c.itemconfig(item_id, angle=45) 

Effbot를 사용하여 각도를 변경할 수 있습니다 예를 작동

create_text(x, y, text=.., angle=..., ...) 

.org : 01 tkinter에서. BTW


:이 난 단지 Tk 8.6와 최신의 Tkinter가 angle=을 가지고 정보를 발견했다.
당신은

import tkinter 

print(tkinter.TkVersion) 
+0

매우 감사 버전을 확인하실 수 있습니다! 이 문제는 밤새도록 방해했습니다! 좋은 하루 보내세요 :-) –

관련 문제