赞
踩
大家好,小编来为大家解答以下问题,用python编写一个小程序,python入门小程序编写,今天让我们一起来看看吧!
运行效果:
完整代码如下:
- import turtle
- import random
- from turtle import *
- from time import sleep
-
- # 画樱花的躯干(60,t)
- def tree(branchLen,t):
- sleep(0.0005)
- if branchLen >3:
- if 8<= branchLen <=12:
- if random.randint(0,2) == 0:
- t.color('snow') # 白
- else:
- t.color('lightcoral') # 淡珊瑚色
- t.pensize(branchLen / 3)
- elif branchLen <8:
- if random.randint(0,1) == 0:
- t.color('snow')
- else:
- t.color('lightcoral') # 淡珊瑚色
- t.pensize(branchLen / 2)
- else:
- t.color('sienna') # 赭(zhě)色
- t.pensize(branchLen / 10) # 6
- t.forward(branchLen)
- a = 1.5 * random.random()
- t.right(20*a)
- b = 1.5 * random.random()
- tree(branchLen-10*b, t)
- t.left(40*a)
- tree(branchLen-10*b, t)
- t.right(20*a)
- t.up()
- t.backward(branchLen)
- t.down()
-
- # 掉落的花瓣
- def petal(m, t):
- for i in range(m):
- a = 200 - 400 * random.random()
- b = 10 - 20 * random.random()
- t.up()
- t.forward(b)
- t.left(90)
- t.forward(a)
- t.down()
- t.color('lightcoral') # 淡珊瑚色
- t.circle(1)
- t.up()
- t.backward(a)
- t.right(90)
- t.backward(b)
-
- def main():
- # 绘图区域
- t = turtle.Turtle()
- # 画布大小
- w = turtle.Screen()
- t.hideturtle() # 隐藏画笔
- getscreen().tracer(1,0)
- w.screensize(bg='wheat')
- t.left(90)
- t.up()
- t.backward(150)
- t.down()
- t.color('sienna')
-
- # 画樱花的躯干
- tree(60,t)
-
- # 掉落的花瓣
- petal(200, t)
- w.exitonclick()
-
- main()
运行效果:
完整代码如下:
- from turtle import *
-
- #扁嘴
- pensize(2)
-
- pu()
- goto(-100,100)#上嘴最高顶点
- seth(-50)
- pd()
- color('#6C3100','#FADD77')
- begin_fill()
- fd(16)
- vertex_right = pos()#嘴最右顶点
- rt(50)
- fd(12)
- vertex_down = pos()#下嘴最低顶点
- rt(80)
- fd(30)
- circle(-3,200)
- vertex_left = pos()#嘴最左顶点
- goto(-100,100)
- end_fill()
- goto(vertex_left)#回到最左顶点
- circle(-3,-200)#扁嘴
- goto(vertex_right)
-
- #身体
- #头颈背尾曲线
- color('#B6A88E')
- pu()
- goto(-100,100)
- pd()
-
- seth(80)
- circle(-36,160)
- fd(25)
- circle(115,20)
- circle(60,55)
- circle(-200,20)
- circle(110,20)
- color('#7D6A4C')
- circle(40,40)
- color('#B6A88E')
- seth(-100)
- circle(-180,30)
- circle(-20,50)
-
- #右鸭腿
- circle(20,70)
- color('#736856')
- circle(-12,120)
- leg_pos1 = pos()#定位左腿位置
- fd(25)
-
- #前胸肚曲线
- pu()
- goto(vertex_down)
- pd()
- seth(-10)
- color('#B9AD9D')
- circle(-40,50)
- circle(-80,48)
- color('#736856')
- circle(250,5)
- circle(50,75)
- color('#B9AD9D')
- circle(220,28)
-
- #左鸭腿
- pu()
- seth(175)
- fd(40)
- pd()
- seth(-120)
- fd(8)
- circle(-10,120)
- leg_pos2 = pos()#定位右腿位置
- fd(15)
-
- #眼睛
- color('black')
- #左眼
- pu()
- goto(vertex_down - (1,-29))
- pd()
- dot(4,'black')
- #右眼
- pu()
- goto(vertex_down + (23,20))
- pd()
- dot(4,'black')
-
- #翅膀
- color('#BCB2A6')
- pu()
- goto(vertex_down - (-75,130))
- seth(130)
- pd()
- circle(-25,130)
- circle(-100,30)
- fd(85)
- point = pos()
- rt(137)
- fd(52)
- circle(-100,58)
-
- pu()
- goto(point)
- lt(30)
- pd()
- fd(60)
-
- pu()
- goto(point)
- pd()
- lt(10)
- fd(70)
-
- #腿部
- #左腿
- def leg(pos0):#鸭腿绘制函数
- pensize(8)
- color('#ECC578')
- pu()
- goto(pos0)
- seth(0)
- fd(7)
- seth(-90)
- fd(8.5)
- pd()
- fd(20)#腿长
-
- leg(leg_pos1)
- leg(leg_pos2)
-
- #小红靴——函数
- def boot(pos0):
- pensize(2)
- color('#B4070B','#FBA06B')
- pu()
- goto(pos0)#靴子右上顶点
- pd()
- begin_fill()
- seth(140)
- circle(25,80)
- seth(-80)
- fd(35)
-
- circle(-2,60)#靴低
- fd(20)
- circle(4,180)
- seth(5)
- fd(30)
- circle(2,60)
-
- goto(pos0)#右侧线条
- end_fill()
-
- boot(leg_pos1-(-20,30))
- boot(leg_pos2-(-20,30))
-
- #小雨滴
- color('#77DDFF','#D8E8E5')
- fd_ls = [200,140,250,240,230,220,180,250]
- lt_ls = [30,60,60,100,125,170,200,330]
- for i in range(8):
- pu()
- home()
- lt(lt_ls[i])
- fd(fd_ls[i])
-
- pd()
- seth(-78)
- fd(15)
- begin_fill()
- circle(-3,200)
- end_fill()
- fd(15)
-
- #文字
- pu()
- goto(vertex_left)
- seth(180)
- fd(150)
- seth(-90)
- fd(300)
- color('black')
- write('呆萌小鸭子',font=("Arial",15,"normal"))
-
- hideturtle()
- done()
运行效果:
完整代码如下:
- import tkinter as tk
-
- class Calc(tk.Tk):
- """计算器窗体类"""
- def __init__(self):
- """初始化实例"""
- tk.Tk.__init__(self)
- self.title("计算器")
- self.memory = 0 # 暂存数值
- self.create()
-
- def create(self):
- """创建界面"""
- btn_list = ["C", "M->", "->M", "/",
- "7", "8", "9", "*",
- "4", "5", "6", "-",
- "1", "2", "3", "+",
- "+/-", "0", ".", "="]
- r = 1
- c = 0
- for b in btn_list:
- self.button = tk.Button(self, text=b, width=5,
- command=(lambda x=b: self.click(x)))
- self.button.grid(row=r, column=c, padx=3, pady=6)
- c += 1
- if c > 3:
- c = 0
- r += 1
- self.entry = tk.Entry(self, width=24, borderwidth=2,
- bg="yellow", font=("Consolas", 12))
- self.entry.grid(row=0, column=0, columnspan=4, padx=8, pady=6)
-
- def click(self, key):
- """响应按钮"""
- if key == "=": # 输出结果
- result = eval(self.entry.get())
- self.entry.insert(tk.END, " = " + str(result))
- elif key == "C": # 清空输入框
- self.entry.delete(0, tk.END)
- elif key == "->M": # 存入数值
- self.memory = self.entry.get()
- if "=" in self.memory:
- ix = self.memory.find("=")
- self.memory = self.memory[ix + 2:]
- self.title("M=" + self.memory)
- elif key == "M->": # 取出数值
- if self.memory:
- self.entry.insert(tk.END, self.memory)
- elif key == "+/-": # 正负翻转
- if "=" in self.entry.get():
- self.entry.delete(0, tk.END)
- elif self.entry.get()[0] == "-":
- self.entry.delete(0)
- else:
- self.entry.insert(0, "-")
- else: # 其他键
- if "=" in self.entry.get():
- self.entry.delete(0, tk.END)
- self.entry.insert(tk.END, key)
-
- if __name__ == "__main__":
- Calc().mainloop()
运行效果:
完整代码如下:
- from turtle import *
- '''
- 绘制皮卡丘头部
- '''
- def face(x,y):
- """画脸"""
- begin_fill()
- penup()
- # 将海龟移动到指定的坐标
- goto(x, y)
- pendown()
- # 设置海龟的方向
- setheading(40)
-
- circle(-150, 69)
- fillcolor("#FBD624")
- # 将海龟移动到指定的坐标
-
- penup()
- goto(53.14, 113.29)
- pendown()
- setheading(300)
- circle(-150, 30)
- setheading(295)
- circle(-140, 20)
- print(position())
- forward(5)
- setheading(260)
- circle(-80, 70)
- print(position())
- penup()
- goto(-74.43,-79.09)
- pendown()
- penup()
- # 将海龟移动到指定的坐标
- goto(-144,103)
- pendown()
- setheading(242)
- circle(110, 35)
- right(10)
- forward(10)
- setheading(250)
- circle(80, 115)
- print(position())
- penup()
- goto(-74.43,-79.09)
- pendown()
- setheading(10)
- penup()
- goto(-144, 103)
- pendown()
- penup()
- goto(x, y)
- pendown()
- end_fill()
-
- # 下巴
- penup()
- goto(-50, -82.09)
- pendown()
- pencolor("#DDA120")
- fillcolor("#DDA120")
- begin_fill()
- setheading(-12)
- circle(120, 25)
- setheading(-145)
- forward(30)
- setheading(180)
- circle(-20, 20)
- setheading(143)
- forward(30)
- end_fill()
-
- def eye():
- """画眼睛"""
- # 左眼
- color("black","black")
- penup()
- goto(-110, 27)
- pendown()
- begin_fill()
- setheading(0)
- circle(24)
- end_fill()
- # 左眼仁
- color("white", "white")
- penup()
- goto(-105, 51)
- pendown()
- begin_fill()
- setheading(0)
- circle(10)
- end_fill()
- # 右眼
- color("black", "black")
- penup()
- goto(25, 40)
- pendown()
- begin_fill()
- setheading(0)
- circle(24)
- end_fill()
- # 右眼仁
- color("white", "white")
- penup()
- goto(17, 62)
- pendown()
- begin_fill()
- setheading(0)
- circle(10)
- end_fill()
- def cheek():
- """画脸颊"""
- # 右边
- color("#9E4406", "#FE2C21")
- penup()
- goto(-130, -50)
- pendown()
- begin_fill()
- setheading(0)
- circle(27)
- end_fill()
-
- # 左边
- color("#9E4406", "#FE2C21")
- penup()
- goto(53, -20)
- pendown()
- begin_fill()
- setheading(0)
- circle(27)
- end_fill()
-
- def nose():
- """画鼻子"""
- color("black", "black")
- penup()
- goto(-40, 38)
- pendown()
- begin_fill()
- circle(7,steps = 3)
- end_fill()
- def mouth():
- """画嘴"""
- color("black", "#F35590")
- # 嘴唇
- penup()
- goto(-10, 22)
- pendown()
- begin_fill()
- setheading(260)
- forward(60)
- circle(-11, 150)
- forward(55)
- print(position())
- penup()
- goto(-38.46, 21.97)
- pendown()
- end_fill()
-
- # 舌头
- color("#6A070D", "#6A070D")
- begin_fill()
- penup()
- goto(-10.00, 22.00)
- pendown()
- penup()
- goto(-14.29, -1.7)
- pendown()
- penup()
- goto(-52, -5)
- pendown()
- penup()
- goto(-60.40, 12.74)
- pendown()
- penup()
- goto(-38.46, 21.97)
- pendown()
- penup()
- goto(-10.00, 22.00)
- pendown()
- end_fill()
- color("black","#FFD624")
- penup()
- goto(-78, 15)
- pendown()
- begin_fill()
- setheading(-25)
- for i in range(2):
- setheading(-25)
- circle(35, 70)
-
- end_fill()
- color("#AB1945", "#AB1945")
- penup()
- goto(-52, -5)
- pendown()
- begin_fill()
- setheading(40)
- circle(-33, 70)
- goto(-16,-1.7)
- penup()
- goto(-18,-17)
- pendown()
- setheading(155)
- circle(25, 70)
- end_fill()
-
- def ear():
- """画耳朵"""
- # 左耳
- color("black","#FFD624")
- penup()
- goto(-145, 93)
- pendown()
- begin_fill()
- setheading(165)
- circle(-248,50)
- right(120)
- circle(-248,50)
- end_fill()
- color("black", "black")
- penup()
- goto(-240, 143)
- pendown()
- begin_fill()
- setheading(107)
- circle(-170, 25)
- left(80)
- circle(229, 15)
- left(120)
- circle(300, 15)
- end_fill()
-
- # 右耳
- color("black", "#FFD624")
- penup()
- goto(30, 136)
- pendown()
- begin_fill()
- setheading(64)
- circle(-248, 50)
-
- right(120)
- circle(-248, 50)
- end_fill()
- color("black", "black")
- penup()
- goto(160, 200)
- pendown()
- begin_fill()
- setheading(52)
- circle(170, 25)
- left(116)
- circle(229, 15)
- left(71)
- circle(-300, 15)
- end_fill()
- def setting():
- """设置参数"""
- pensize(2)
- # 隐藏海龟
- hideturtle()
- speed(10)
- def main():
- """主函数"""
- setting()
- face(-132,115)
- eye()
- cheek()
- nose()
- mouth()
- ear()
- done()
-
- if __name__ == '__main__':
- main()
运行效果:
完整代码如下:
- import turtle
- import time
-
- # 清屏函数
- def clear_all():
- turtle.penup()
- turtle.goto(0, 0)
- turtle.color('white')
- turtle.pensize(800)
- turtle.pendown()
- turtle.setheading(0)
- turtle.fd(300)
- turtle.bk(600)
-
- # 重定位海龟的位置
- def go_to(x, y, state):
- turtle.pendown() if state else turtle.penup()
- turtle.goto(x, y)
-
- # 画线
- # state为真时海龟回到原点,为假时不回到原来的出发点
- def draw_line(length, angle, state):
- turtle.pensize(1)
- turtle.pendown()
- turtle.setheading(angle)
- turtle.fd(length)
- turtle.bk(length) if state else turtle.penup()
- turtle.penup()
-
- # 画箭羽
- def draw_feather(size):
- angle = 30 # 箭的倾角
- feather_num = size//6 # 羽毛的数量
- feather_length = size // 3 # 羽毛的长度
- feather_gap = size//10 # 羽毛的间隔
- for i in range(feather_num):
- draw_line(feather_gap, angle+180, False) # 箭柄,不折返
- draw_line(feather_length, angle + 145, True) # 羽翼,要折返
- draw_line(feather_length, angle + 145, False)
- draw_line(feather_num*feather_gap, angle, False)
- draw_line(feather_length, angle + 145 + 180, False)
- for i in range(feather_num):
- draw_line(feather_gap, angle+180, False) # 箭柄,不折返
- draw_line(feather_length, angle - 145, True) # 羽翼,要折返
- draw_line(feather_length, angle - 145, False)
- draw_line(feather_num*feather_gap, angle, False)
- draw_line(feather_length, angle - 145 + 180, False)
-
- # 画爱心
- def draw_heart(size):
- turtle.color('red', 'pink')
- turtle.pensize(2)
- turtle.pendown()
- turtle.setheading(150)
- turtle.begin_fill()
- turtle.fd(size)
- turtle.circle(size * -3.745, 45)
- turtle.circle(size * -1.431, 165)
- turtle.left(120)
- turtle.circle(size * -1.431, 165)
- turtle.circle(size * -3.745, 45)
- turtle.fd(size)
- turtle.end_fill()
-
- # 画箭
- def draw_arrow(size):
- angle = 30
- turtle.color('black')
- draw_feather(size)
- turtle.pensize(4)
- turtle.setheading(angle)
- turtle.pendown()
- turtle.fd(size*2)
-
- # 一箭穿心
- # 箭的头没有画出来,而是用海龟来代替
- def arrow_heart(x, y, size):
- go_to(x, y, False)
- draw_heart(size*1.15)
- turtle.setheading(-150)
- turtle.penup()
- turtle.fd(size*2.2)
- draw_heart(size)
- turtle.penup()
- turtle.setheading(150)
- turtle.fd(size * 2.2)
- draw_arrow(size)
-
- # 画出发射爱心的小人
- def draw_people(x, y):
- turtle.penup()
- turtle.goto(x, y)
- turtle.pendown()
- turtle.pensize(2)
- turtle.color('black')
- turtle.setheading(0)
- turtle.circle(60, 360)
- turtle.penup()
- turtle.setheading(90)
- turtle.fd(75)
- turtle.setheading(180)
- turtle.fd(20)
- turtle.pensize(4)
- turtle.pendown()
- turtle.circle(2, 360)
- turtle.setheading(0)
- turtle.penup()
- turtle.fd(40)
- turtle.pensize(4)
- turtle.pendown()
- turtle.circle(-2, 360)
- turtle.penup()
- turtle.goto(x, y)
- turtle.setheading(-90)
- turtle.pendown()
- turtle.fd(20)
- turtle.setheading(0)
- turtle.fd(35)
- turtle.setheading(60)
- turtle.fd(10)
- turtle.penup()
- turtle.goto(x, y)
- turtle.setheading(-90)
- turtle.pendown()
- turtle.fd(40)
- turtle.setheading(0)
- turtle.fd(35)
- turtle.setheading(-60)
- turtle.fd(10)
- turtle.penup()
- turtle.goto(x, y)
- turtle.setheading(-90)
- turtle.pendown()
- turtle.fd(60)
- turtle.setheading(-135)
- turtle.fd(60)
- turtle.bk(60)
- turtle.setheading(-45)
- turtle.fd(30)
- turtle.setheading(-135)
- turtle.fd(35)
- turtle.penup()
-
- # 第一个画面,显示文字
- def page0():
- turtle.penup()
- turtle.goto(-350, 0)
- turtle.color('black')
- turtle.write('专属于我们的什么节', font=('宋体', 60, 'normal')) #这里的字大家自己替换
- time.sleep(3)
-
- # 第二个画面,显示发射爱心的小人
- def page1():
- turtle.speed(10)
- draw_people(-250, 20)
- turtle.penup()
- turtle.goto(-150, -30)
- draw_heart(14)
- turtle.penup()
- turtle.goto(-20, -60)
- draw_heart(25)
- turtle.penup()
- turtle.goto(250, -100)
- draw_heart(45)
- turtle.hideturtle()
- time.sleep(3)
-
- # 最后一个画面,一箭穿心
- def page2():
- turtle.speed(1)
- turtle.penup()
- turtle.goto(-200, -200)
- turtle.color('blue')
- turtle.pendown()
- turtle.write('温轻舟 温轻舟', font=('wisdom', 25, 'normal')) #这里的字大家自己替换
- turtle.penup()
- turtle.goto(0, -180)
- draw_heart(10)
- arrow_heart(20, -60, 51)
- turtle.showturtle()
-
- def main():
- turtle.setup(900, 500)
- page0()
- clear_all()
- page1()
- clear_all()
- page2()
- turtle.done()
- main()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。