iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python语言程序设计之二--用tur
  • 509
分享到

Python语言程序设计之二--用tur

之二语言程序设计Python 2023-01-30 23:01:31 509人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇笔记依然是在做《python语言程序设计》第5章循环的习题。其中有两类问题需要记录下来。 第一是如何画围棋棋盘。围棋棋盘共有19纵19横。其中,位于(0,0)的星位叫天元,其余8个星位坐标分别是:(-6,6),(0,6),(6,6),

这篇笔记依然是在做《python语言程序设计》第5章循环的习题。其中有两类问题需要记录下来。

第一是如何画围棋棋盘。围棋棋盘共有19纵19横。其中,位于(0,0)的星位叫天元,其余8个星位坐标分别是:(-6,6),(0,6),(6,6),(-6,0),(6,0),(-6,-6),(0,-6),(6,-6)。这里面涉及到绘制等间距网格,我选择for循环来实现。考虑到以后可以修改棋盘大小,所以网格间距和初始点位置都设置成全局变量。其代码如下:

# 绘制围棋棋盘

import turtle

# 线与线间隔
n = 30
# 初始点位置
x = -300
y = -300

# 定义棋盘样式
turtle.speed(3)
turtle.pencolor('black')
turtle.screensize(400, 400)

# 画横线
for i in range(19):
    turtle.penup()
    turtle.Goto(x, y + n * i)
    turtle.pendown()
    turtle.forward(n * 18)

# 画竖线
turtle.left(90)
for i in range(19):
    turtle.penup()
    turtle.goto(x + n * i, y)
    turtle.pendown()
    turtle.forward(n * 18)

turtle.right(90)

# 画9个星位,每排三个,共三排所以是两层for循环
x_first = x + n * 3
y_first = y + n * 3 - n * 0.25

for i in range(3):
    for j in range(3):
        turtle.penup()
        turtle.goto(x_first + 6 * j * n, y_first + 6 * i * n)
        # 如果按下面写法,则先画左边3个星,再画中间3个
        # turtle.goto(x_first + 6 * j * n, y_first + 6 * i * n)
        turtle.pendown()
        turtle.begin_fill()
        turtle.fillcolor('blue')
        # 飞星的半径为1/4个网格间距
        turtle.circle(n * 0.25)
        turtle.end_fill()

# 隐藏画笔箭头
turtle.hideturtle()

turtle.done()

代码运行结果如下图:

题目非常简单,重点是通过画图来感受循环在处理重复性动作时的威力。但凡重复性的工作都可以用循环来处理。这也正是计算机擅长的工作,并且也是程序的意义所在:把人的精力从繁琐的、海量的、重复性的、简单的初级工作中解脱出来。

第二个问题就是绘制正弦、余弦函数。其核心思想是:放下画笔,然后让画笔依次通过各个坐标点就画出一条正弦余弦曲线。从这里也可以看出,这也是不断地重复性工作,重复地计算以x为横坐标的点的 y 坐标,然后重复地让画笔通过这些点。所以我也选用for循环。

当然,代码中值得关注的就是 x-0-y 坐标系的绘制。这段代码可以通用。

# 在正交坐标系下画sin(x)和cos(x)曲线

import turtle
import math

turtle.speed(1)

# 画 x 轴
turtle.penup()
turtle.goto(-220, 0)
turtle.pendown()
turtle.goto(220, 0)

# 画 x 轴箭头
turtle.setheading(150)
turtle.forward(20)
turtle.penup()
turtle.goto(220, 0)
turtle.setheading(-150)
turtle.pendown()
turtle.forward(20)

# 显示x
turtle.penup()
turtle.goto(225, 0)
turtle.write('X')

# 画 y 轴
turtle.penup()
turtle.goto(0, -100)
turtle.pendown()
turtle.goto(0, 100)

# 画 y 轴箭头
turtle.setheading(240)
turtle.forward(20)
turtle.penup()
turtle.goto(0, 100)
turtle.pendown()
turtle.setheading(-60)
turtle.forward(20)

# 显示Y
turtle.penup()
turtle.goto(0, 110)
turtle.write('Y')

# 画正弦曲线
x = -175
turtle.pensize(2)
turtle.color('blue')
turtle.penup()
turtle.goto(x, 50 * math.sin((x / 100) * 2 * math.pi))
turtle.pendown()
for x in range(-175, 176):
    turtle.goto(x, 50 * math.sin((x / 100) * 2 * math.pi))

# 将-2π的位置标示出来
turtle.penup()
turtle.goto(-100, -20)
turtle.write('-2π')

# 将2π的位置标示出来
turtle.penup()
turtle.goto(100, -20)
turtle.write('2π')

# 画余弦曲线
x = -175
turtle.pensize(2)
turtle.color('red')
turtle.penup()
turtle.goto(x, 50 * math.cos((x / 100) * 2 * math.pi))
turtle.pendown()
for x in range(-175, 176):
    turtle.goto(x, 50 * math.cos((x / 100) * 2 * math.pi))

turtle.hideturtle()
turtle.done()

运行结果如下:

最后我还是要重复一遍上面的心得:但凡重复性的工作都可以用循环来处理。这也正是计算机擅长的工作,并且也是程序的意义所在:把人的精力从繁琐的、海量的、重复性的、简单的初级工作中解脱出来。应该把精力放在建模和算法优化上。这才是重点和难点。

这句话重复了,可以for一下。哈哈,皮

 

--结束END--

本文标题: Python语言程序设计之二--用tur

本文链接: https://www.lsjlt.com/news/180792.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python语言程序设计之二--用tur
    这篇笔记依然是在做《Python语言程序设计》第5章循环的习题。其中有两类问题需要记录下来。 第一是如何画围棋棋盘。围棋棋盘共有19纵19横。其中,位于(0,0)的星位叫天元,其余8个星位坐标分别是:(-6,6),(0,6),(6,6),...
    99+
    2023-01-30
    之二 语言程序设计 Python
  • Python语言程序设计之一--for循
    最近学到了Pyhton中循环这一章。之前也断断续续学过,但都只是到了函数这一章就停下来了,写过的代码虽然保存了下来,但是当时的思路和总结都没有记录下来,很可惜。这次我开通了博客,就是要把这些珍贵的学习思考总结记录下来。从现在开始。 关于这...
    99+
    2023-01-30
    语言程序设计 Python
  • Python语言程序设计之三--列表Li
    最近在学习列表,在这里卡住了很久,主要是课后习题太多,而且难度也不小。像我看的这本《Python语言程序设计》--梁勇著,列表和多维列表两章课后习题就有93道之多。我的天!但是题目出的非常棒,许多题目都具有相似性。这倒不是说这些题目类似,...
    99+
    2023-01-30
    之三 语言程序设计 列表
  • 揭秘C语言程序设计的探索之旅
    C语言是一门广泛应用于计算机科学和编程领域的编程语言,它简洁、高效、灵活,被广泛用于开发各种软件和系统。本文将带领读者一起探索C语言程序设计的奥秘,了解它的基本特点、语法规则和常见应用...
    99+
    2024-02-25
    c语言 程序设计 奥秘
  • 《python语言程序设计基础》(第二版)第二章课后习题参考答案
    第二章 Python程序实例解析 文章目录 2.1 温度转换2.2 汇率兑换2.3 绘制彩色蟒蛇2.4 等边三角形的绘制2.5 叠加等边三角形的绘制2.6 无角正方形的绘制2.7 六边形的绘制...
    99+
    2023-10-12
    python 开发语言
  • oracle是程序设计语言吗
    否,oracle 不是程序设计语言。它是数据库管理系统,用于创建和管理数据库,但它提供了一种特定于数据库操作的专门编程语言 pl/sql。 Oracle 是程序设计语言吗? 否。 Or...
    99+
    2024-04-19
    mysql oracle python c++
  • c语言与c语言程序设计一样吗
    否。c语言是开发软件的编程语言,而c语言程序设计是使用c语言创建程序的过程,包括编写代码、编译和运行。 C语言与C语言程序设计是否相同? 答案:否 详细说明: C语言和C语言程序设计虽...
    99+
    2024-04-13
    c语言
  • 学习python的第二天(程序语言)
    一.程序语言 1.机械语言 由于0和1组成 优点:执行效率快 缺点:操作麻烦繁琐 2.汇编语言 比机械语言好点 优点:比机械语言操作方便 缺点,执行慢 3.高级语言 主要两个,java是编译性语言,python是解释性语言 二.pyth...
    99+
    2023-01-31
    第二天 程序语言 python
  • c语言程序设计怎么换行
    在 c 语言程序设计中,可以使用以下方法换行:转义字符 '\n'puts() 函数fputs() 函数fputc() 函数(逐个字符打印,使用字符 '\n' 打印换行符) 如何使用 C...
    99+
    2024-04-05
    c语言
  • C语言如何设计并行程序
    设计并行程序的关键在于充分利用计算机处理器的多核心和多线程能力,以提高程序的性能和效率。 以下是设计并行程序的一般步骤: 分析程...
    99+
    2023-10-27
    C语言
  • Qt 多语言程序设计的实现
    目录简介1.tr()函数使用2.生成语言翻译文件3.使用 Qt Linguist 翻译 ts 文件 4.调用翻译文件改变界面语言简介    &...
    99+
    2024-04-02
  • c语言程序设计和编程一样吗
    不,c语言程序设计是编程的一部分,但两者并不相同:c语言程序设计关注c语言特性,如语法和数据类型。编程涵盖所有编程语言,涉及算法设计和软件工程。c语言程序设计用于编写特定应用程序,而编程...
    99+
    2024-04-13
    c语言
  • c语言程序设计和c++一样吗
    c++kquote>c 语言程序设计与 c++ 并不相同。它们在以下方面存在差异:语法差异:c++ 引入名称空间、对象、流操作符和模板。功能差异:c++ 提供异常处理、stl、高级...
    99+
    2024-04-13
    c语言 c++
  • 重要性及应用领域:C语言程序设计
    C语言是一种高级编程语言,广泛应用于计算机科学与技术领域。它以其高效、灵活、可移植等特点,成为程序设计的重要工具。本文将介绍C语言程序设计的重要性和应用领域。 首先,C语言的重要性体现...
    99+
    2024-02-23
    应用 c语言 程序设计 c语言编程
  • css3是不是包含C语言程序设计
    这篇文章给大家分享的是有关css3是不是包含C语言程序设计的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 css3不包含C语言程序设计。css3是一种...
    99+
    2024-04-02
  • C语言实现飞机大战程序设计
    本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下 作业要求: 1.游戏当中出现多类型敌人2.游戏中能进行存档和读档3.玩家控制的飞机由多字符组成4.游戏过程...
    99+
    2024-04-02
  • C语言利用goto语句设计实现一个关机程序
    目录前言一、什么是goto语句二、goto语句的作用是什么三、goto语句的缺点四、goto语句的结构与用法五、goto语句的巧用实例——关机小程序总结撒花前...
    99+
    2023-01-28
    C语言 goto实现关机程序 C语言 goto 关机程序 C语言 goto
  • 计算机能直接执行的程序是用什么程序设计语言编写的
    这篇文章主要介绍了计算机能直接执行的程序是用什么程序设计语言编写的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。计算机能直接执行的程序是用“机器语言”编写的。机器语言是机器能...
    99+
    2023-06-14
  • 程序设计新手必读:C语言和Python的难度对比
    程序设计新手必读:C语言和Python的难度对比 在学习编程的过程中,选择一门合适的编程语言是非常重要的。对于程序设计新手来说,常常会纠结于选择学习C语言还是Python。C语言作为一...
    99+
    2024-04-02
  • C语言程序设计第五版谭浩强课后答案(第二章答案)
    目录1. 什么是算法?试从日常生活中找3个例子,描述它们的算法2. 什么叫结构化的算法?为什么要提倡结构化的算法?3. 试述3种基本结构的特点,请另外设计两种基本结构(要符合基类结构...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作