python turtle怎么用变量_Python的turtle.write中怎么样输出变量?

你的核心问题是格式化输出的问题,我建议使用f_format语法,超级好用。

这是我你的代码修改之后的代码,我直接上源码,方便你复制运行修改:

import turtle as tt

p = tt.Pen()

p.pensize(4)

#定义函数时要有a, b, c三个参数,不然没有具体值,画不出来

def hanshu(a, b, c):

for x in range(-50,51):

p.pendown()

y = a * x * x * 0.1 + b * x + 10 * c

p.goto(x,y)

#画坐标系的x轴

p.penup()

p.goto(-400,0)

p.pendown()

p.forward(800)

#画坐标系的y轴

p.penup()

p.goto(0,-400)

p.left(90)

p.pendown()

p.forward(800)

#绘制函数图像(也可以要求用户输入a, b, c的值,让用户控制参数)

p.penup()

p.color("red")

#此处也同理,a, b, c没有具体值,不能画,要先赋值

a = 2

b = 3

c = 2

#此处xz坐标值改为-50,因为你的Y值是按照-50计算的,不然图像有拐点

p.goto(-50,a * 2500 * 0.1 - b * 50 + 10 * c)

hanshu(a,b,c)

#显示函数图像的函数表达式

p.penup()

p.goto(-b/2*a,4*a*c-b*b/4*a)

p.pendown()

p.write(f"y={a}x^2+{b}x+{c}",font=("黑体",20))

tt.done()

——————————割———————————

下图是运行结果:

还有你定义的hanshu,内部的range(-50,50)有点儿问题,大多数函数图像可能在这个区域只有一条线,看不出来图像的全貌,我建议给图像对称轴加减50更合适一些,如下:

def hanshu(a, b, c):

for x in range(-b/2*a-50,-b/2*a+51):

p.pendown()

y = a * x * x * 0.1 + b * x + 10 * c

p.goto(x,y)

希望回答对你有用,哪里不懂可以随时探讨交流。

你可能感兴趣的:(python,turtle怎么用变量)