0

DFAを描画するためのPythonコードを作成しようとしています。私はカメのライブラリーを使うつもりです。代替品はありますか?ノードを描画することはできますが、サークル内に状態名を挿入する方法は不明です。 誰も私を導くことができますか?以下は私のコードです。 ありがとう!Pythonの円内にテキストを挿入する

import turtle 

def draw_node(some_turtle): 
    myTurtle.circle(50) 
    turtle.getscreen().__root.mainloop() 


def draw_design(): 

    window = turtle.Screen() 
    window.bgcolor("teal") 

    myTurtle = turtle.Turtle() 
    myTurtle.color("white") 
    myTurtle.shape("turtle") 
    myTurtle.speed(5) 
    myTurtle.pensize(4) 

    draw_node(myTurtle) 

    window.exitonclick() 

draw_design() 

答えて

0

あなたのコードに問題がで特に亀ライブラリに精通の欠如とPythonプログラミングの組み合わせのようです一般的です。私は必ずしも亀のライブラリは、あなたが何をしたいのために最良の選択であるとは言えないだろうが、それはあなたのプログラムが実現を目指して何を行うことができます。

from turtle import Turtle, Screen 

RADIUS = 50 

FONT_SIZE = 18 

FONT = ("Arial", FONT_SIZE, "normal") 

def draw_node(turtle, text, x, y): 
    turtle.up() 
    turtle.goto(x, y - RADIUS) 
    turtle.down() 
    turtle.circle(RADIUS) 
    turtle.up() 
    turtle.goto(x, y - FONT_SIZE // 2) 
    turtle.write(text, align="center", font=FONT) 

def draw_design(turtle): 

    turtle.color("white") 
    turtle.pensize(4) 

    draw_node(turtle, "S0", -100, 100) 

    draw_node(turtle, "S1", 100, 100) 

screen = Screen() 
screen.bgcolor("blue") 

yertle = Turtle(shape="turtle") 

draw_design(yertle) 

yertle.home() 

screen.exitonclick() 

はOUTPUT

enter image description here

+0

はいあなたは私がPythonを初めて使うことについて正しいです。コードをありがとうございます。タートルが最善の選択ではないかどうか分かりますか?交代は何ですか? –

+0

@Chica_Programmador、1つの選択肢は、タートルモジュールが構築されているtkinterモジュールを使用することです。これはカメよりも複雑ですが、カメのように、問題のドメインに関連した一連の関数を作成し、コード内の関数で処理することができます。 – cdlane

0

私は、私の環境でカメモジュールをインストールすることはできませんが、私はその問題は、変数のスコープにあると思います。

myTurtle変数はそうdraw_nodeからmyTurtle次いでdraw_designからmyTurtle異なり、グローバルスコープに定義されていません。

を一方で、機能draw_nodeが正しく入力パラメータとしてmyTurtleと呼ばれるが、実際にdraw_node内部その入力の無駄がありません。

はそれを変更しよう:それに

def draw_node(some_turtle): 
    myTurtle.circle(50) 
    turtle.getscreen().__root.mainloop() 

def draw_node(some_turtle): 
    some_turtle.circle(50) 
    turtle.getscreen().__root.mainloop() 
関連する問題