第二章--Python程序实例解析

一        以IPO角度分析温度转换问题

        1)    温度刻画的两种不同体系(摄氏度与华氏度)

        -摄氏度:中国等世界大多数国家使用

                以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画

        -华氏度:美国、英国等国家使用

                以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

        2 )   需求分析 -- 两种温度体系之间的转换

                -摄氏度转换为华氏度    ;    -华氏度转换为摄氏度

       3)     问题分析

            1    问题分析 -- 分析问题

                --    直接将温度值进行转换

                温度数值需要标明温度体系,即摄氏度或华氏度转换后也需要给出温度体系

            2-1    问题分析 -- 划分边界

                -输入:带华氏或摄氏标志的温度值

                -处理:根据温度标志选择适当的温度转换算法

                -输出:带摄氏或华氏标志的温度值

           2-2    问题分析 -- 设计输入输出格式

              标识放在温度最后,F表示华氏度,C表示摄氏度

              例如 :  32F表示华氏32度,68C表示摄氏68度

           3   问题分析 -- 设计算法

            根据华氏和摄氏温度定义,利用转换公式如下:

                C = (F – 32 ) / 1.8

                F= C * 1.8 + 32

            其中, C表示摄氏温度,F表示华氏温度

           4 问题分析 -- 编程实现


编写上述代码,并保存为TempConvert.py文件

    
           5    问题分析  -- 调试测试


程序运行效果

            6    维护升级

            -- 通过添加  循环 While, 来实现重复询问的功能


程序功能升级

二        程序语法结构分析

    1    缩进,分行与语句间隔

           1) 缩进 -- 表达程序的格式框架

                -所属关系:表达代码间包含和层次关系的唯一手段

                -长度一致:程序内一致即可,一般用4个空格或1个TAB

            2 )分行 -- 通常 分行是语句间不同逻辑的层次手段

                    物理行    --   在编写程序过程中编辑器所能显示的空间长度

                   逻辑行     --   Python识别的单个语句

                    Python假定每个物理行对应一个逻辑行,建议使用圆括号来分组运算符和操作数,以便能够明确地指出运算地先后顺序。使程序尽可能易读。

                    Python希望每行都使用一个语句,这样使得代码更容易读

                    如果想在一个物理行中使用多于一个逻辑行,那么需要使用分号(;)来特别地注明这种用法。


一个物理行中使用多于一个逻辑行

                    仅仅当逻辑行太长地时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而使代码更容读


多个物理行写一个逻辑行--明确地行连接

                有一种暗示的假设,可以不需要使用反斜杠。这种情况出现在逻辑行中使用圆括号,方括号或波形括号,这种方式称为暗示的行连接    


1暗示的行连接  


                3)语句间隔  

                        Python使用分号分隔语句,从而将多条语句写在一行。例如:

                        print(100);print(2+3)

                        如果冒号之后的语句只有一条语句,Python允许将语句写在冒号之后。冒号之后也可以是分号分隔的多条语句。例如:

                        if x<100 and x>10 : y = x*5-1

                        else : y =0;print(x>100或x<=10)

    2        注释 -- 不被程序执行的辅助性说明信息

                1)-单行注释:以#开头,其后内容为注释

                    例如: #  这里是单行注释

                2) -多行注释:以'''开头和结尾

                    '''  这是多行注释第一行

                        这是多行注释第二行  '''

                PS --> 注意在使用多行注释过程中,如若 内容中包含引号,则需要注意趋同效应

    3    命名与保留字 

           1)    3组成 -- 大小写字母、数字、下划线 

                    PS -->  3.0 版本加入了汉字,但不建议大家使用汉字组成

           2) 3构成 -- 大小写敏感、首字符不能是数字、不与保留字相同

           3)1习惯 -- 驼峰规则

                a、小驼峰式命名法(lower camel case):

                第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。

                b、大驼峰式命名法(upper camel case):

                每一个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。

      4    Python关键字

            关键字即保留字,用户不能将其用作其他任何标识符名称。Python 的标准库提供了一个keyword模块,在IDLE中可以输出当前的所有关键字


Python关键字

            在Python中,用户需要注意True,False,None的大小写。如果用户需要查看关键字信息,在IDLE中也可以用help()命令进入帮助系统查看


help()命令进入帮助系统查看关键字信息

    5    变量

           程序中用于保存和表示数据的占位符号

            -变量采用标识符(名字)来表示,关联标识符的过程叫命名

                    例如:TempStr是变量名字

               -可以使用等号(=)向变量赋值或修改值,=被称为赋值符号

                  例如: TempStr="82F"  #向变量TempStr赋值"82F"

    6    数据类型 -- 供计算机程序理解的数据形式

            1)基本数据类型 -- 

                    1    数字类型 -- 整型,浮点型,复数

                    2    字符串类型 -- 由0个或多个字符组成的有序字符序列

                           - 字符串由一对单引号或一对双引号表示

                                    "请输入带有符号的温度值: "或者  'C'

                          - 字符串是字符的有序序列,可以对其中的字符进行索引

                                    "请" 是  "请输入带有符号的温度值: " 的第0个字符

                           - 正向递增序号和反向递减序号


字符串的序号

                            - 使用[ ]获取字符串中一个或多个字符

                            -索引:返回字符串中单个字符  <字符串>[M]

                                        "请输入带有符号的温度值: "[0]  或者  TempStr[-1]

                            -切片:返回字符串中一段字符子串  <字符串>[M:N]

                                        "请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

                                        

            2)组合数据类型 -- 

                    1    序列  -- 元组,列表

                    2    集合

                    3    映射  -- 字典

            3)数据运算

                 1    算数运算  -- "+,-,*,/,**,%,//,..."   

                 2    比较运算  -- "=,>,<,<=,>=,!=,..."

                3    逻辑运算   -- 与或非 "&,|,^"

                4    布尔运算   -- 二值运算(True,False)

    7    程序控制结构

            1)   顺序语句

            2)   分支语句    

                     if 条件1:    

                        语句1

                    elif 条件:

                        语句2

                    else:

                        语句3

            3)    循环语句

                    有限次数的循环 -- for

                    条件循环 -- while

    8    函数

                根据输入参数产生不同输出的功能过程

                def <函数名>(<参数列表>):

                        <函数体>

                       return   <返回值列表>          

    9    输出输出函数

            1)  input():从控制台获得用户输入的函数

                    -input()函数的使用格式:

                            <变量>=input(<提示信息字符串>)

                    -用户输入的信息以字符串类型保存在<变量>中

                            TempStr= input(“请输入”)    # TempStr保存用户输入的信息

               2)print():以字符形式向控制台输出结果的函数

                    -print()函数的基本使用格式:

                            print(<拟输出字符串或字符串变量>)

                    -字符串类型的一对引号仅在程序内部使用,输出无引号

                            print("输入格式错误")  # 向控制台输出  输入格式错误

                3)print()函数的格式化 - format

                    - print()函数的格式化:

                                print("转换后的温度是{:.2f}C".format(C))

                                 --    {}表示槽,后续变量填充到槽中

                                 --    { :.2f }表示将变量C填充到这个位置时取小数点后2位

                                print("转换后的温度是{:.2f}C".format(C))

                                如果C的值是  123.456789,则输出结果为:    转换后的温度是123.45C

                    4)    eval():去掉参数最外侧引号并执行余下语句的函数

                            


eval()函数的基本使用格式

10   Python与文件处理   --   open

11   第三方包的处理  

        1) 导入  import packages

        2)   安装    pip install packages

        3)程序打包  pyinstall 

三        turtle 库的使用

            turtle(海龟)库是turtle绘图体系的Python实现;有一只海龟,其实在窗体正中心,在画布上游走;走过的轨迹形成了绘制的图形;海龟由程序控制,可以变换颜色、改变宽度等

    1  最小单位像素

        1)画布空间的大小决定了,单位像素的个数,比如 1080*720 则代表当前包含有   1080*720 个像素

        2)单位像素的颜色由 RGB三原色决定,并且R,G,B的取值都是 0-255

     2    turtle的相关命令

         关于窗体与画布

                --    窗体,指代的是使用设备的屏幕大小

                --    画布 ,指代的是绘图区的大小,由turtle.setup(width,height,startx,starty)决定;width,height决定了画布大小,startx,starty决定了画布与窗体间的间距

     1)全局控制命令


全局控制命令

        2)画笔控制命令


 
正在上传...取消重新上传

        3)画笔运动命令

练习  -- 绘制彩虹线

# 绘制彩虹线 Rainbow_Line

import turtle as t

from random import randint as rint

t.shape("turtle")

t.pensize(5)

t.colormode(255)

t.bgcolor("black")

t.tracer(False)

for x in range(700):

    t.color(rint(0,255),rint(0,255),rint(0,255))

    t.circle(2*(1+x/4),5)

    t.speed(30)

    t.tracer(True)


 
正在上传...取消重新上传

            

原文地址:https://www.cnblogs.com/Skypeduty1225/p/13693475.html