欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用python中的turtle库绘画指定大小的三角形

程序员文章站 2022-04-01 14:46:31
...

想要绘制三角形,就要先知道三角形ABC的三边:AB AC BC,以及它的三个角:∠ABC ∠BAC ∠ACB

让使用者输入他们:

ab=input("请输入△ABC的边AB:")
ac=input("请输入△ABC的边AC:")
bc=input("请输入△ABC的边BC:")
abc=input("请输入△ABC中∠ABC的大小:")
bac=input("请输入△ABC中∠BAC的大小:")
acb=input("请输入△ABC中∠ACB的大小:")

但由于输入的数值为字符类型,需要输入以下代码将其转化为整型

AB=int(float(ab))*10
AC=int(float(ac))*10
BC=int(float(bc))*10
ABC=int(float(abc))*10
BAC=int(float(bac))*10
ACB=int(float(acb))*10

接下来就是画图部分了

画图需要turtle库,插入

import turtle

然后再进行绘制三角形

t=turtle.Pen()
turtle.setup(width=1000,height=1000)
t.pensize(5)
t.pencolor("red")
t.fillcolor("yellow")
t.up()
t.goto(-450,-450)
t.down()
t.begin_fill()
t.fd(AB)
t.rt(ABC)
t.fd(BC)
t.rt(ACB)
t.fd(AC)
t.end_fill()

但我们需要验证使用者该出的数据是否可以生成一个三角形,所以需要在输入时放入判断

i=True
while i==True:
    ab=input("请输入△ABC的边AB:")
    ac=input("请输入△ABC的边AC:")
    bc=input("请输入△ABC的边BC:")
    abc=input("请输入△ABC中∠ABC的大小:")
    bac=input("请输入△ABC中∠BAC的大小:")
    acb=input("请输入△ABC中∠ACB的大小:")
    AB=int(float(ab))*10
    AC=int(float(ac))*10
    BC=int(float(bc))*10
    ABC=int(float(abc))*10
    BAC=int(float(bac))*10
    ACB=int(float(acb))*10
    if (AB+AC<BC or AB+BC<AC or AC+BC<AB)or(ABC+BAC+ACB!=180):
        print("这个数据无法生成三角形,请重新输入")
    else:
        i=False

所以就形成了最后的成品:

import turtle
i=True
while i==True:
    ab=input("请输入△ABC的边AB:")
    ac=input("请输入△ABC的边AC:")
    bc=input("请输入△ABC的边BC:")
    abc=input("请输入△ABC中∠ABC的大小:")
    bac=input("请输入△ABC中∠BAC的大小:")
    acb=input("请输入△ABC中∠ACB的大小:")
    AB=int(float(ab))*10
    AC=int(float(ac))*10
    BC=int(float(bc))*10
    ABC=int(float(abc))*10
    BAC=int(float(bac))*10
    ACB=int(float(acb))*10
    if (AB+AC<BC or AB+BC<AC or AC+BC<AB)or(ABC+BAC+ACB!=180):
        print("这个数据无法生成三角形,请重新输入")
    else:
        i=False
t=turtle.Pen()
turtle.setup(width=1000,height=1000)
t.pensize(5)
t.pencolor("red")
t.fillcolor("yellow")
t.up()
t.goto(-450,-450)
t.down()
t.begin_fill()
t.fd(AB)
t.rt(ABC)
t.fd(BC)
t.rt(ACB)
t.fd(AC)
t.end_fill()
相关标签: python