导图社区 Python 3.X 二、Python程序实例分析
Python 蟒蛇程序、turtle库的初步使用、语法元素分析。
编辑于2020-11-11 17:45:48Python 3.X 二、Python 程序实例解析
1、温度转换程序实例
1、温度体系
温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。 华氏度以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。
2、温度转换实例
1、问题:如何利用Python程序进行 摄氏度和华氏度之间的转换
步骤1:分析问题的计算部分:采用公式转换方式解决计算问题
步骤2:确定功能
输入:华氏或者摄氏温度值、温度标识
处理:温度转换算法
输出:华氏或者摄氏温度值、温度标识
F表示华氏度,82F表示华氏82度 C表示摄氏度,28C表示摄氏28度
步骤3:设计算法
根据华氏和摄氏温度定义,转换公式如下: C = (F-32)*5/9 F = (9/5)* C + 32 其中,C表示摄氏温度,F表示华氏温度
步骤4:编写程序
TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['F']: c = (eval(TempStr[0:-1])-32)*5/9 print("转换后的温度值是{:.2f}C".format(c)) elif TempStr[-1] in ['C']: f = 9/5*eval(TempStr[0:-1])+32 print("转换后的温度值是{:.2f}F".format(f)) else: print("输入格式错误!")
步骤5:调试、运行程序
在系统命令行上运行如下命令执行程序: C:\>python TempConvert.py 或者:使用IDLE打开上述文件,按F5运行(推荐) 输出数值,观察输出
2、Python语法元素分析
1、程序的格式框架
1、缩进
Pyton语言采用严格的“缩进”来表明程序的格式 框架。 缩进指每一行代码开始前的空白区域,用来表示 代码之间的包含关系。 1个缩进 = 4个空格
1、用以在Python中标明代码的层次关系
2、缩进是Python语言中表明程序框架的唯一手段
2、注释
注释:程序员在代码中加入的说明信息, 不被计算机执行注释的两种方法
1、单行注释以#开头 #Here are the comments
2、多行注释以 ''' 开头和结尾 ''' This is multline comment used in Python '''
3、命名与保留字
1、命名
1、常量:程序中值不发生改变的元素
2、变量:程序中值发生改变或者可以发生改变的元素
Python语言允许采用大写字母、小写字母、数字、 下划线(_)和汉字等字符及其组合给变量命名,但名字 的首字符不能是数字,中间不能出现空格,长度没有 限制 注意:标识符对大小写敏感,python和Python是两个 不同的名字
2、保留字
1、保留字,也称关键字,指被编程语言内部定义并保留使用的标识符
2、程序员编写程序不能定义与保留字相同的标识符
3、每种程序设计语言都有一套保留字,保留字一般用来构成程序 整体框架、表达关键值和具有结构性的复杂语义等
4、掌握一门编程语言首先要熟记其所对应的保留字
and elif import raise as else in return assert except is try break finally lambda while class for nonlocal with continue from not yield def global or Ture del if pass False None
4、字符串
1、Python语言中,字符串是用两个双引号""或者 单引号''括起来的一个或多个字符
2、Python字符串的两种序号关系
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 H e l l o , W o r l d 。 0 1 2 3 4 5 6 7 8 9 10 11
5、赋值语句
1、Python语言中,= 表示"赋值",即将等号右侧的值 计算后将结果值赋给左侧变量,包含等号(=)的语句 称为“赋值语句”
2、同步赋值语句:同时给多个变量赋值
<变量1>,...,<变量N> = <表达式1>,...,<表达式N>
3、例:将变量x和y交换
1、采用单个赋值,需要3行语句: 即通过一个临时变量t缓存x的原始值,然后将y值 赋给x,再将x的原始值通过t赋值给y t = x x = y y = t
2、采用同步赋值语句,仅需要一行代码: x,y = y,x
6、input()函数
获得用户输入之前,input()函数可以包含一些提示性文字 <变量> = input(<提示性文字>)
>>>input("请输入:") 请输入:python 'python'
7、分支语句
分支语句是控制程序运行的一类重要语句,它的作 用是根据判断条件选择程序执行路径,使用方式如下:
if<条件1>: <语句块1> elif<条件2>: <语句块2> ... else: <语句块N>
8、eval()函数
eval(<字符串>)函数是Python语言中一个十分重要的 函数,它能够以Python表达式的方式解析并执行字符串, 将返回结果输出
>>>x = 1 >>>print(eval('x+10')) 11 >>>print(eval('1.1+1.2')) 2.3
9、print()输出函数
1、print()函数用来输出字符信息,或以字符形式 输出变量
2、print()函数可以输出各种类型变量的值
3、print()函数通过%来选择要输出的变量
实例
用户输入两个数字,计算它们的平均数,并输出平均数 num1 = input('The first number is:') num2 = input('The second number is:') avg_num = (float(num1) + float(num2)) / 2 print("The average number is %f" % avg_num)
10、循环语句
循环语句:控制程序运行,根据判断条件或计数条件 确定一段程序的运行次数
1、遍历循环,基本过程如下
for i in range(<计数值>): <表达式> #例如,使某一段程序运行10次 for i in range(10): <源代码> #其中,变量 i 用于计数
5、Python的函数封装
蟒蛇程序功能可以分成两类
1、绘制图形前对画笔的设置,包括颜色、尺寸、初始位置等
2、以及绘制Python蟒蛇的功能
由于蟒蛇绘制的功能相对独立, 可以用函数来封装
import turtle def drawSnake(radius, angle, length): turtle.seth(-40) for i in range(length): turtle.circle(radius, angle) turtle.circle(-radius, angle) turtle.circle(radius, angle/2) turtle.fd(40) turtle.circle(16, 180) turtle.fd(40* 2/3) turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") drawSnake(40, 80, 4) turtle.done()
4、Python 蟒蛇程序分析
1、程序运行main()函数中语句,遇到setup函数
2、Turtle中的turtle.setup()函数用于启动一个图像窗口,它有四个参数 turtle.setup(width, height, startx. starty)
width
启动窗口的宽度
height
启动窗口的高度
startx
starty
表示窗口启动时,窗口左上角在屏幕中的像素位置
3、我们所使用的显示屏幕也是一个坐标系,该坐标系 以左上角为原点,向左和向下分别是x轴和y轴
4、蟒蛇程序代码启动一个1300像素宽,800像素 高的窗口,该窗口的左上角是屏幕的左上角
5、Turtle中的turtle.pensize()函数表示小乌龟运动轨迹 的宽度,即画笔宽度
它包含一个输入参数,这里我们把它设置为30像素, 用pythonsize变量表示
6、Turtle中的turtle.pencolor()函数表示小乌龟运动 轨迹的颜色
它包含一个输入参数,这里我们把它设置为红色,red, 其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果 希望获得和图片中颜色一致的小蛇,请输入 turtle.pencolor("#3B9909")
7、Turtle中的 turtle.seth(angle) 函数表示小乌龟启动 时运动的方向。它包含一个输入参数,是角度值
其中,0表示向右,90度表示向上,180度表示向左, 270度表示向下;负值表示相反方向
程序中,我们让小乌龟向-40度启动爬行,即: 向右下角方向40度
8、main()函数给出了小乌龟爬行的窗体大小,爬行 轨迹颜色和宽度以及初始爬行的方位
9、最后,调用drawSnake函数启动绘制蟒蛇的功能
10、drawSnake函数有四个参数,根据调用时给出的参数, 分别将40传递给rad, 80给angle, 5给len, 15给neckrad
11、turtle.circle()函数功能
1、turtle.circle()函数让小乌龟沿着一个圆形爬行
2、参数 rad 描述圆形轨迹半径的位置
这个半径原点位置在小乌龟运行的左侧, 如果rad为负值,则半径原点在小乌龟运行 的右侧
3、参数 angle 表示小乌龟沿着圆形爬行的弧度值
12、turtle.fd()函数功能
1、turtle.fd() 函数也可以用turtle.forward()表示 乌龟向前直线爬行移动
2、表示小乌龟向前直线爬行移动,它有一个参数表示 爬行的距离
3、turtle库和蟒蛇绘制程序
1、Python小蛇
1、Python英文是蟒蛇的意思
2、通过下面的例子,来实践用Python语言输出图形效果
2、Python蟒蛇绘制实例
import turtle def drawSnake(rad, angle, len, neckrad): for i in range(len): turtle.circle(rad, angle) turtle.circle(-rad, angle) turtle.circle(rad, angle/2) turtle.fd(rad) turtle.circle(neckrad+1, 180) turtle.fd(rad*2/3) def main(): turtle.setup(1300, 800, 0, 0) pythonsize = 30 turtle.pensize(pythonsize) turtle.pencolor("red") turtle.seth(-40) drawSnake(40, 80, 5, pythonsize/2) main()
3、Python语法元素
1、import turtle
2、import 是一个关键字,用来引入一些外部库, 这里的含义是引入一个名字叫turtle的函数库
4、turtle库
1、turtle库是Python语言中一个很流行的绘制图像的函数库
2、使用turtle库,头脑里需要有这样一个概念
1、想象一个小乌龟,在一个横轴为X,纵轴为Y的坐标系原点(0,0)位置开始
2、它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形
5、def定义函数
1、def 用于定义函数,这段程序中,共出现两次def关键词, 包含两个函数 drawSnake 和 main
2、函数是一组代码的集合,用于表达一个功能,或者说, 函数表示一组代码的归属,函数名称是这段代码的名字
3、def 所定义的函数在程序组未经调用不能直接执行,需要 通过函数名调用才能够执行
6、程序运行
1、两个def语句定义的函数所包含语句与def行存在缩进关系, def后连续的缩进语句都是这个函数的一部分
2、由于def定义的函数在程序中未经调用不会被执行, 整个程序第一条执行的语句是main(),它表示执行名字 为main()的函数
3、从而,该程序跳转到main()函数定义的一组语句中执行, 即开始执行 turtle.setup()语句
4、同样的,main()函数的最后一条语句调用了drawSnake() 函数,当执行到这条语句时,程序跳转到drawSnake()函数 中运行