这个代码主要有两个部分,第一部分是画出故宫,第二部分是用random函数随机画心,故宫部分设置多个函数和循环再进行颜色填充即可完成。

此处为视频链接

from turtle import*
import random as r speed(0.4) def xy(x,y):
fd(x)
left(90)
fd(y)
left(90)
fd(x)
left(90)
fd(y)
left(90) colormode(255)
setup(900,900)
penup()
goto(-300,-250)
pensize(1)
pendown() begin_fill()
fillcolor(220,220,220)
xy(250,45)
fd(350)
xy(250,45)
end_fill() goto(-50,-250)
begin_fill()
fillcolor(211,77,80)
color(211,77,80)
xy(100,35)
end_fill() def little():
for i in range(9):
xy(12.5,7.5)
penup()
fd(25)
pendown()
penup()
goto(-275,-220)
pendown()
begin_fill()
fillcolor(211,77,80)
little()
penup()
forward(125)
pendown()
little()
end_fill() def zhuzhi():
for i in range(3):
xy(12.5,75)
penup()
fd(87.5)
pendown()
penup()
goto(-275,-205)
pendown()
begin_fill()
fillcolor(211,77,80)
zhuzhi()
fd(90)
zhuzhi()
end_fill() def cube():
for i in range(3):
for j in range(4):
fd(12.5)
left(90)
penup()
fd(87.5)
pendown() penup()
goto(-275,-160)
pendown()
begin_fill()
fillcolor(228,190,82)
cube()
fd(90)
cube()
end_fill() def fill():
for i in range(2):
begin_fill()
fillcolor(156,2,2)
xy(75,58)
end_fill()
penup()
fd(87.5)
pendown() penup()
goto(-262.5,-206)
pendown()
fill()
fd(176.5)
fill() penup()
goto(-87,-206)
pendown()
color(156,2,2)
begin_fill()
fillcolor(156,2,2)
fd(37)
right(90)
fd(10)
left(90)
fd(100)
left(90)
fd(10)
right(90)
fd(27)
left(90)
fd(58)
left(90)
fd(164)
left(90)
fd(58)
left(90)
end_fill() def huise():
for i in range(2):
xy(75,17.6)
penup()
fd(87.5)
pendown()
pencolor(177,172,137)
penup()
goto(-262.5,-148)
pendown()
begin_fill()
fillcolor(177,172,137)
huise()
fd(176.9)
huise()
goto(-87,-148)
xy(164,17.6)
end_fill() penup()
goto(-293,-130)
pendown()
color(65,66,77)
begin_fill()
fillcolor(65,66,77)
fd(570)
seth(45)
fd(20)
seth(180)
fd(590)
seth(-45)
fd(20)
seth(0)
end_fill() penup()
goto(-310,-115)
pendown()
pencolor(220,157,72)
begin_fill()
fillcolor(220,157,72)
fd(610)
circle(5,180)
fd(610)
circle(5,180)
end_fill() penup()
goto(-280,-104)
pendown()
pencolor(251,194,4)
begin_fill()
fillcolor(251,194,4)
fd(570)
seth(150)
fd(48)
seth(180)
fd(510)
seth(-150)
fd(48)
seth(0)
end_fill() goto(-264,-80)
pencolor(65,66,67)
begin_fill()
fillcolor(65,66,67)
xy(510,8)
end_fill()
penup()
goto(-248,-72)
pendown()
def heise():
for i in range(7):
xy(8,20)
penup()
fd(79)
pendown()
begin_fill()
fillcolor(65,66,67)
heise()
end_fill() penup()
goto(-264,-52)
pendown()
begin_fill()
fillcolor(65,66,67)
fd(510)
seth(45)
fd(20)
seth(180)
fd(536)
seth(-45)
fd(20)
seth(0)
end_fill() penup()
goto(-240,-72)
pendown()
def huise1():
for i in range(6):
xy(71,20)
penup()
fd(79)
pendown()
begin_fill()
fillcolor(177,172,137)
huise1()
end_fill() penup()
goto(-15,-80)
pendown()
begin_fill()
fillcolor(218,153,66)
xy(30,42)
end_fill() penup()
goto(-10,-73)
pendown()
begin_fill()
fillcolor(42,6,194)
xy(20,28)
end_fill() penup()
goto(-285,-38)
pendown()
begin_fill()
fillcolor(220,157,72)
fd(560)
circle(5,180)
fd(560)
circle(5,180)
end_fill() penup()
goto(-195,-28)
pendown()
begin_fill()
fillcolor(251,194,4)
fd(458)
seth(135)
fd(70)
seth(180)
fd(438)
seth(-135)
fd(70)
seth(0)
end_fill() penup()
goto(-220,21)
pendown()
begin_fill()
fillcolor(220,157,72)
fd(435)
seth(90)
fd(20)
circle(5,180)
fd(6)
seth(180)
fd(417)
seth(90)
fd(6)
circle(5,180)
fd(20)
end_fill() colormode(1.0) def randomcolor():
color = (r.random(), r.random(), r.random())
return color def pink():
color = (1, r.random(), 1)
return color def randomrange(min, max):
return r.randint(min,max) def heart(r, a):
factor = 180
seth(a)
circle(-r, factor)
fd(2 * r)
right(90)
fd(2 * r)
circle(-r, factor) pensize(1)
pencolor(randomcolor())
fillcolor(randomcolor()) penup()
for i in range(20):
goto(randomrange(-400, 400), randomrange(140, 420))
begin_fill()
fillcolor(pink())
heart(randomrange(10, 50), randomrange(-10, 90))
end_fill() done()

使用turtle画故宫(伍奇,侯俊豪小组)的更多相关文章

  1. python运用turtle 画出汉诺塔搬运过程

    python运用turtle 画出汉诺塔搬运过程 1.打开 IDLE 点击File-New File 新建立一个py文件 2.向py文件中输入如下代码 import turtle class Stac ...

  2. python3 turtle 画国际象棋棋盘

    python3 turtle 画国际象棋棋盘 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan import turt ...

  3. day 03 turtle 画鹅

    turtle 画鹅 import turtle t=turtle turtle.speed(10) t. setup(800,600) #画头 turtle.penup() turtle.goto(0 ...

  4. *【Python】【demo实验31】【练习实例】【使用turtle画小猪佩奇】

    如下图小猪佩奇: 要求使用turtle画小猪佩奇: 源码: # encoding=utf-8 # -*- coding: UTF-8 -*- # 使用turtle画小猪佩奇 from turtle i ...

  5. 【Python】【demo实验29】【练习实例】【使用turtle画五角星】

    原题: 使用turtle画五角星: 我的代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- from turtle impor ...

  6. 用python turtle画玫瑰

    1.turtle 库 2.画玫瑰的代码: import turtle turtle.penup() turtle.left() turtle.fd() turtle.pendown() turtle. ...

  7. Python之turtle画同心圆和棋盘

    画饼图 import turtle t = turtle.Pen() for i in range(5): t.penup() t.goto(0, -i*30) t.pendown() t.circl ...

  8. 用python的turtle画分形树

    由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制.只要确定开始树枝长.每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!! 代码如下: # -*- coding: utf-8 ...

  9. python 用turtle 画小猪佩奇

    from turtle import * def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟 ...

随机推荐

  1. Cent OS & Windows 双系统自定义引导菜单

    系统环境 系统:Windows 10 (64-bit) & Cent OS 7 (64-bit) 引导程序:Grub2 编辑 grub.cfg 为了方便,在终端使用命令 su 输入密码进入超级 ...

  2. C语言学习——bsmap-2.74_main.cpp

    素材路径:https://www.codeforge.cn/read/428275/bsmap-2.74-_-main.cpp__html 1.C/C++预处理指令,常见的预处理指令如下: #空指令, ...

  3. Kotlin 扩展

    Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式. 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响. 扩展函数 扩展函数可以在已有类中添加新的方法 ...

  4. leecode第二百三十五题(二叉搜索树的最近公共祖先)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  5. POJ 1321 棋盘问题(搜索的方式)

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  6. python高阶函数(Map、Reduce、Filter、lamba)

    Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 代码如下: >>> def f(x): . ...

  7. C++实现的一些功能代码

    将当前时间输出到txt中: 调用c++中的fstream流文件,用tm结构获取日期和时间,其在time.h中定义 用ofstream的时候,ofstream out(txtpath,ios::app) ...

  8. cowboy源码分析(一)

    前段时间导读了ranch的源码,具体见ranch 源码分析(一), 现在整理了下ranch框架下经典应用cowboy. 源码地方:https://github.com/ninenines/cowboy ...

  9. pip安装库时报错,使用国内镜像加速

    pip install requests或pip --trusted-host pypi.python.org install requests报错: 原因:网上解释为网速太慢,或被防火墙 解决方法: ...

  10. Vue+Element+computed实现购物车

    本人写的小程序,功能还在完善中,欢迎扫一扫提出宝贵意见!           该购物车效果采用的是Element-ui库实现的. 采用了computed计算属性来实现逻辑操作. 功能分析: 全选/全不 ...