如何在 python turtle.write() 方法中颠倒文本?

how to upside down a text in python turtle.write() method?

现在我正在编写一个程序,从 52 张扑克牌中随机取出 4 张扑克牌,我必须通过 python 海龟模块来抽取这些扑克牌。现在这是我的问题:因为扑克中有一个颠倒的数字,just like this(the bottom right corner number)

起初我想用这段代码来生成数字:

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"))

我想用 do.settheading()设置数字的角度,但是我发现不行!我可以得到一个 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)

编码为'draw'一个数字,通过设置起始角度,我可以'draw'一个上侧数字2,但这会带来很多麻烦,不是吗?

有人能告诉我如何写() 一个倒数吗? 非常感谢!!!

turtle没有倒置显示文字的功能

但是 turtle 建立在 tkinter 模块和 Canvas 具有方法

的小部件之上
create_text(x, y, text=.., angle=..., ...)

工作示例

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.org:Canvas 在 tkinter 中。


顺便说一句: 我发现只有 Tk 8.6 的最新 tkinter 有 angle=.
你可以查看版本

import tkinter 

print(tkinter.TkVersion)