当前位置: 首页 > news >正文

个人房产查询系统网站官网/网上营销推广

个人房产查询系统网站官网,网上营销推广,网站admin密码忘记了怎么办,外贸订单网站有哪些自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前3节的实例中,我们一直绘制的都是直线,实际上,海龟绘图还可以绘制其他形状的图形,如圆形、多边形等…

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

在前3节的实例中,我们一直绘制的都是直线,实际上,海龟绘图还可以绘制其他形状的图形,如圆形、多边形等,下面分别进行介绍。

1  绘制线条

在海龟绘图中,画笔处在落笔状态时,只要海龟移动时就会绘制出移动轨迹线条。通过改变移动的方向和位置可以绘制出各种线条。在绘制线条时,主要通过15.1.2小节介绍的控制方向和位置的方法实现。下面通过一个实例来演示如何绘制复杂的线条。

      实例15.3   绘制台阶     

通过逆时针旋转90度,向前移动,再顺时针旋转90度,并向前移动,可以实现一级台阶的绘制,重复多次这样的操作,就可以绘制出多级台阶的形状,代码如下:

import turtle # 导入海龟绘图模块

turtle.color('blue') # 设置画笔颜色为蓝色

turtle.forward(40) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.forward(20) # 向前移动

turtle.right(90) # 顺时针旋转90度

turtle.forward(20) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.forward(20) # 向前移动

turtle.right(90) # 顺时针旋转90度

turtle.forward(20) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.forward(20) # 向前移动

turtle.right(90) # 顺时针旋转90度

turtle.forward(20) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.forward(20) # 向前移动

turtle.right(90) # 顺时针旋转90度

turtle.forward(20) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.forward(20) # 向前移动

turtle.right(90) # 顺时针旋转90度

turtle.forward(40) # 向前移动

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将在屏幕上绘制5级台阶,如图15.21所示。

图15.21  绘制5级台阶

在绘制线条时,结合循环可以绘制出很多复杂、有趣的图案,例如下面的实例。

实例15.4   绘制回文图案

使用海龟绘图结合for循环可以实现回文图案。实现方法:在循环中,不断地增加移动的距离,并向一个方法旋转指定角度即可实现。具体代码如下:

import turtle # 导入海龟绘图模块

turtle.color('green') # 画笔颜色为绿色

# 输出回文图案

for i in range(32): # 循环32次

turtle.forward(i*2) # 向前移动

turtle.left(90) # 逆时针旋转90度

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将显示如图15.22所示的图案。

图15.22  绘制回文图案

2  绘制矩形

在海龟绘图中,没有提供绘制矩形的方法,不过可以使用旋转+移动位置来实现。下面看一个具

体的实例。

      实例15.5   绘制彩色边框的矩形

绘制一个长150像素,宽200像素的矩形,并且每条边的颜色不一样。代码如下:

import turtle # 导入海龟绘图模块

turtle.shape('turtle') # 改变海龟光标的形状为海龟

turtle.width(3) # 画笔粗细

turtle.color('orange') # 画笔颜色为橙色

turtle.forward(200) # 画一条200像素的线

turtle.right(90) # 顺时针旋转90度

turtle.color('red') # 画笔颜色为红色

turtle.forward(100) # 画一条100像素的线

turtle.right(90) # 顺时针旋转90度

turtle.color('green') # 画笔颜色为绿色

turtle.forward(200) # 画一条200像素的线

turtle.right(90) # 顺时针旋转90度

turtle.color('purple') # 画笔颜色为紫色

turtle.forward(100) # 画一条100像素的线

turtle.ht() # 隐藏海龟光标

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,屏幕中逐渐绘制一个彩色边框的矩形,绘制完成后海龟光标将隐藏,如图15.23所示。

图15.23  绘制彩色边框的矩形

如果将图15.23所示的矩形重复旋转多次将得到一个圆形图案。修改后的代码如下:

import turtle # 导入海龟绘图模块

def drawrect(num):

for i in range(1,num+1):

turtle.left(5)

turtle.width(3) # 画笔粗细

turtle.color('orange') # 画笔颜色为橙色

turtle.forward(200) # 画一条200像素的线

turtle.right(90) # 顺时针旋转90度

turtle.color('red') # 画笔颜色为红色

turtle.forward(100) # 画一条100像素的线

320

Python 从入门到实践

turtle.right(90) # 顺时针旋转90度

turtle.color('green') # 画笔颜色为绿色

turtle.forward(200) # 画一条200像素的线

turtle.right(90) # 顺时针旋转90度

turtle.color('purple') # 画笔颜色为紫色

turtle.forward(100) # 画一条100像素的线

turtle.ht() # 隐藏海龟光标可以提升速度

drawrect(100)

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将看到不断地绘制彩色边框的矩形,最终停留在如图15.24所示的图案上。

图15.24  绘制圆形图案

3  绘制圆或弧形

在海龟绘图中,使用circle()方法可以绘制圆或者弧形。circle()方法的语法如下:

turtle.circle(radius, extent=None, steps=None)

参数说明:

l  radius :必选参数,用于指定半径,其参数值为数值。圆心在海龟光标左边一个半径值的位置。

l  如果值为正数,则按照逆时针方向绘制圆弧,否则按照顺时针方向绘制。

l  extent :可选参数,用于指定夹角的大小,数值(或None),如果设置为None或者省略,则绘制整个圆。另外,如果指定的值不是完整圆周,将以当前画笔位置为一个端点绘制圆弧。

l  steps :可选参数,用于指定边数。对于圆实际上是以其内切正多边形来近似表示的,这里的 steps就是指定的正多边形的边数。如果extent参数省略时,则该参数需要通过关键字参数的形式指定(即需要使用steps = 边数)。

例如,绘制一个红色的,半径为80的圆,代码如下:

import turtle

turtle.color('red') # 设置画笔的颜色

radius = 80 # 定义半径

turtle.circle(radius,None) # 绘制圆

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将绘制如图15.25所示的圆。

再例如,绘制一个绿色,半径为80的半圆弧,代码如下:

import turtle

turtle.color('green') # 设置画笔颜色

radius = 80 # 定义半径

turtle.circle(radius,180) # 绘制半圆弧

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将绘制如图15.26所示的半圆弧。

图15.25  绘制圆

                 

                                                                                                    

图15.26  绘制弧

      实例15.6   绘制五环图案     

通过循环绘制5个半径为100的不同颜色的圆形,通过调整位置组成五环图案。代码如下:

import turtle # 导入海龟绘图模块

turtle.resizemode('auto') # 改变模式为自动

radius = 100 # 圆的半径

turtle.width(10) # 画笔粗细

colorlist = ['royalblue','black','red','yellow','green'] # 颜色列表

turtle.penup() # 抬笔

turtle.back(radius*2) # 移动一个圆的距离

turtle.pendown() # 落笔

for i in range(5): # 循环5次

turtle.color(colorlist[i]) # 设置画笔颜色

turtle.circle(radius) # 绘制圆

if i != 2: # 不是第三个圆时

turtle.penup() # 抬笔

turtle.forward(radius*2) # 移动一个圆的距离

turtle.pendown() # 落笔

else:

turtle.penup() # 抬笔

turtle.goto(radius*-1,radius*-1) # 移动到第二行的第一个圆的位置

turtle.pendown() # 落笔

322

Python 从入门到实践

turtle.ht() # 隐藏画笔

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将在屏幕上绘制由5个圆组成的五环图案,效果如图15.27所示。

图15.27  绘制五环图案

另外,在海龟绘图中,还提供了绘制圆点的dot()方法。通过该方法可以在屏幕上绘制指定大小和颜色的实心圆点。dot()方法的语法如下:

turtle.dot(size=None, *color)

参数说明:

l  size :用于指定圆点的直径,参数值为>=1的整型数,省略则取pensize+4和2*pensize中的较大值。

l  color :用于指定圆点的颜色,其参数值为颜色字符串或颜色数值元组。

例如,在屏幕上绘制一个蓝色的、直径为50的圆点,代码如下:

import turtle # 导入海龟绘图模块

turtle.dot(50, "blue")

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将在屏幕上绘制如图15.28所示的圆点。

图15.28  绘制圆点

4  绘制多边形

在海龟绘图中,绘制多边形通常有两种方式。一种是通过circle()方法实现,另一种是通过循环旋转、移动实现。下面分别进行介绍。

l  通过circle()方法实现

将circle()方法的参数steps设置为想要的多边形的边数,即可绘制指定边数的正多边形,例如,绘制一个正8边形的代码如下:

import turtle # 导入海龟绘图模块

turtle.color('red')

turtle.circle(100,steps=8) # 绘制正8边形

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将绘制一个正八边形,如图15.29所示。

图15.29  绘制正八边形

l  通过循环旋转、移动实现多边形

在15.4.2小节绘制矩形时,我们通过移动指定距离(表示边长)并旋转(90度)4次绘制出了一个矩形。那么如果把矩形换成正方形,就可以通过循环4次的操作来实现。通过这种方式也可以实现绘制其他的正多边形。关键要素如下:

Ø  循环次数=边数。

Ø  旋转角度=180-内角的度数,内角的度数计算公式为:内角=(边数-2)*180/边数。即旋转角度=180-(边数-2)*180/边数)。

Ø  移动的距离=边长。

例如,要绘制一个彩色边框的正8边形,代码如下:

import turtle # 导入海龟绘图模块

colorlist = ['pink','purple','skyblue','cyan','green','lime','orange','red']

turtle.width(2) # 线粗2像素

side = 8 # 边数

for i in range(side):

turtle.color(colorlist[i]) # 设置边框的颜色

turtle.forward(60) # 边长

turtle.left(180-(side-2)*180/side) # 旋转角度

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将绘制一个彩色边框的正八边形,如图15.30所示。

图15.30  绘制彩色边框的正八边形

5  绘制填充图形

在海龟绘图中,默认绘制的图形只显示轮廓,不会填充,这时可以使用begin_fill()和end_fill()方法绘制填充图形。其中begin_fill()方法放置在绘制要填充的形状之前调用,而end_fill()方法设置在绘制完要填充的形状之后调用,并且要保证前面已经调用了begin_fill()方法。

例如,将15.4.4小节通过circle()方法绘制的正八边形填上绿色,代码如下:

import turtle # 导入海龟绘图模块

turtle.color('green') # 填充颜色

turtle.begin_fill() # 标记填充开始

turtle.circle(100,steps=8) # 绘制正8边形

turtle.end_fill() # 标记填充结束

turtle.ht() # 隐藏画笔

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将显示如图15.31所示的绿色实心正八边形。


相关文章:

绘制图形

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前3节的实例中,我们一直绘制的都是直线,实际上,海龟绘图还可以绘制其他形状的图形,如圆形、多边形等…...

SpringAop实战(xml文件/纯注解两种方式)

AOP的概述 什么是AOP? 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 • AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 • AOP最早由AOP联盟的组织提出的,制定了…...

(八)Linux的进程与线程

多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的程序被称为一个任务。一个任务包含一个或多个完成独立功能的子任务,其中子任务可以是进程或线程。Linux就是一个支持多任务的操作系统,比起单任务系统它的功能增强许多。 一.进程 进程:一个具有独立功…...

Map-JAVA面试常问

1.HashMap底层实现 底层实现在jdk1.7和jdk1.8是不一样的 jdk1.7采用数组加链表的方式实现 jdk1.8采用数组加链表或者红黑树实现 HashMap中每个元素称之为一个哈希桶(bucket),哈希桶包含的内容有以下4项 hash值(哈希函数计算出来的值) Key value next(…...

prometheus+grafana搭建监控系统

1.prometheus服务端安装 1.1下载包 使用wget下载 (也可以直接去官网下载包Download | Prometheus) wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz1.2解压 tar xf prometheus-2.44…...

flink学习-flink sql

动态表 在flink的数据处理中,数据流是源源不断的,是无界的,所以对于flink处理的数据表是一张动态表,所以对于动态表的查询也是持续的,每接收一条新数据会进行一次新的查询。 持续查询 因为数据在一直源源不动的到来…...

高考填报志愿攻略,5个步骤选专业和院校

在高考完毕出成绩的时候,很多人会陷入迷茫中,好像努力了这么多年,却不知道怎么规划好未来。怎么填报志愿合适?在填报志愿方面有几个内容需要弄清楚,按部就班就能找到方向,一起来了解一下正确的步骤吧。 第…...

Kubernetes排错(十)-处理容器数据磁盘被写满

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满? 容器数据目录大多会单独挂数据盘,路径一般是 /var/lib/docker,也可能是 /data/docker 或 /o…...

使用QtGui显示QImage的几种方法

问题描述 我是一名刚学习Qt的新手,正在尝试创建一个简单的GUI应用程序。当点击一个按钮时,显示一张图片。我可以使用QImage对象读取图片,但是否有简单的方法调用一个Qt函数,将QImage作为输入并显示它? 方法一:使用QLabel显示QImage 最简单的方式是将QImage添加到QLabe…...

C++ lamda

1 lamada 的函数指针存在哪里?需要通过分析编译后的二进制; 2 捕获了什么? 为什么捕获?捕获的范围是什么? 捕获的生命周期是什么? lambda 定义匿名函数,使得代码更加灵活简洁; lam…...

Linux_应用篇(27) CMake 入门与进阶

在前面章节内容中,我们编写了很多示例程序,但这些示例程序都只有一个.c 源文件,非常简单。 所以,编译这些示例代码其实都非常简单,直接使用 GCC 编译器编译即可,连 Makefile 都不需要。但是,在实…...

51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)

目录 目的/效果 一,STC单片机模块 二,8*8 LED点阵模块 2.1 电路图 2.1.1 8*8 点阵模块电路图 2.1.2 74HC595(串转并)模块 电路图 2.1.3 芯片引脚 2.2 引脚电平分析 2.3 74HC595 串转并模块 2.3.1 装弹(移位…...

2024最新免费版轻量级Navicat Premium Lite 下载和安装教程

2024最新免费版轻量级Navicat Premium Lite 下载和安装教程 关于猫头虎 大家好,我是猫头虎,别名猫头虎博主,擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评…...

PHP+laravel 生成word

此功能较为繁琐我会从源头讲起 首先是数据库设置,下面是我的数据库结构 合同模版表 CREATE TABLE contract_tpl (id bigint unsigned NOT NULL AUTO_INCREMENT,name varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 合同名称,file varchar(191) COLL…...

redis集群简单介绍及其搭建过程

Redis集群 1、哨兵模式 哨兵可以有多个,从服务器也可以有多个,从服务器也可以有多个,在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会实现主从切换&#x…...

linux桌面运维----第五天

1、创建用户命令useradd&#xff1a; 作用&#xff1a;创建用户 ​语法&#xff1a;useradd [选项名] 用户名 ​选项&#xff1a; -d<登入目录> 指定用户登入时的起始目录。 【掌握】 -g<群组> 指定用户所属的群组&#xff08;基本组&#xff09;。【掌握】…...

【SQL Server数据库】简单查询

目录 用SQL语句完成下列查询。使用数据库为SCHOOL数据库 1. 查询学生的姓名、性别、班级名称&#xff0c;并把结果存储在一张新表中。 2. 查询男生的资料。 3. 查询所有计算机系的班级信息。 4&#xff0e;查询艾老师所教的课程号。 5. 查询年龄小于30岁的女同学的学号和姓名。…...

Docker 从入门到精通(大全)

一、概述 1.1 基本概念 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。…...

基于JSP的在线教育资源管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果你对在线教育资源管理系统感兴趣或者有相关需求&#xff0c;欢迎在文末找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术 工具&#xff1a;IDE、N…...

在java中代理http请求,如何避免陷入循环?

在 Java 中&#xff0c;代理 HTTP 请求时&#xff0c;如果不小心配置不当&#xff0c;可能会导致循环请求。循环请求通常发生在代理服务器将请求再次发送回自己&#xff0c;形成一个死循环。为了避免这种情况&#xff0c;可以采取以下几种方法&#xff1a; 将域名设置为指定的…...

国内镜像源网址

腾讯&#xff1a;腾讯软件源 (tencent.com) 阿里&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 清华&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror...

合适的智能猫砂盆到底怎么挑?开放式封闭式一次说清!

想当初我也是在网上看了各种测评&#xff0c;纠结了好久才下定决心入手了智能猫砂盆。封闭式和开放式都用过&#xff0c;各有各的利与弊&#xff0c;不过最后的我还是选择了开放式的智能猫砂盆&#xff0c;因为开放式的设计结构会更加方便我观察小猫&#xff0c;哪个铲屎官不喜…...

阿里云开启ssl证书过程记录 NGINX

&#x1f91e;作者简介&#xff1a;大家好&#xff0c;我是思无邪&#xff0c;2024 毕业生&#xff0c;某厂 Go 开发工程师.。 &#x1f402;我的网站&#xff1a;https://www.yishanicode.top/ &#xff0c;持续更新&#xff0c;希望对你有帮助。 &#x1f41e;如果文章或网站…...

C语言程序设计 9.37 调用随机函数为5x4的矩阵置 100以内的整数,输出该矩阵,求出每行元素之和,并把和的最大的那一行与第一行的元素对调

void count_sum(int sum[]) {int i;printf("每行相加的情况如下\n");for (i 0;i < 5; i){printf("%d ", sum[i]);}printf("\n"); } void test(int arr[5][4]) {int i, j;srand((unsigned)time(NULL));//添加这个可以每次不同的随机数&#x…...

Webpack: 借助 Babel+TS+ESLint 构建现代 JS 工程环境

概述 Webpack 场景下处理 JavaScript 的三种常用工具&#xff1a;Babel、TypeScript、ESLint 的历史背景、功能以及接入 Webpack 的步骤借助这些工具&#xff0c;我们能构建出更健壮、优雅的 JavaScript 应用 使用 Babel ECMAScript 6.0(简称 ES6) 版本补充了大量提升 JavaSc…...

孩子不想上学,父母应如何教育?“强迫教育”会激起孩子反抗心理

上周末朋友聚会&#xff0c;都是家有上学娃的年纪&#xff0c;闲聊中&#xff0c;话题自然少不了孩子的上学问题。其中&#xff0c;不少朋友都有抱怨过同一个问题&#xff1a;孩子不想上学&#xff0c;即使人到了学校&#xff0c;心也不在学校。   事实上&#xff0c;孩子出现…...

Python深度学习技术

原文链接&#xff1a;Python深度学习技术 近年来&#xff0c;伴随着以卷积神经网络&#xff08;CNN&#xff09;为代表的深度学习的快速发展&#xff0c;人工智能迈入了第三次发展浪潮&#xff0c;AI技术在各个领域中的应用越来越广泛。Transformer模型&#xff08;BERT、GPT-…...

ECharts 雷达图案例002 - 诈骗性质分析

ECharts 雷达图案例002 - 诈骗性质分析 &#x1f4ca; ECharts 雷达图案例002 - 诈骗性质分析 深入挖掘数据背后的故事&#xff0c;用可视化手段揭示诈骗行为的模式和趋势。 &#x1f50d; 案例亮点 创新的数据展示方式&#xff0c;让复杂的诈骗数据一目了然。定制化的雷达图…...

想远程控制手机,用哪个软件好?

很多人都想知道安卓系统或iOS系统要如何实现手机远程控制手机、电脑远程控制手机&#xff0c;分别需要用到什么软件&#xff0c;这篇文章一次说清楚。 注意&#xff0c;安卓系统需要是7.0及以上版本&#xff0c;iOS系统需要是11及以上版本。具体使用步骤请点击关注&#xff0c;…...

数字内容“遍地开花”,AI技术如何创新“造梦”?

文 | 智能相对论 作者 | 陈泊丞 这是春晚舞台西安分会场《山河诗长安》的一幕&#xff1a;“李白”现世&#xff0c;带领观众齐颂《将进酒》&#xff0c;将中国人骨子里的豪情与浪漫演绎得淋漓尽致。 这又是浙江义乌商品市场里的另一幕&#xff1a;只会说几个英文单词的女老板…...