zoukankan      html  css  js  c++  java
  • 第二章--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)


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

                

  • 相关阅读:
    结构体怎么组包发送
    开源语音代码eSpeak1.06 的移植到单片机的过程(二)之分析下speak.c 文件
    看看深圳的房价
    开源语音代码eSpeak1.06 的移植到单片机的过程(一)0之分析下espeak.c 文件
    开源语音代码eSpeak1.06 的学习入门
    利尔达模组CAT1 UIS8910指令的 TCP相关中文解释
    将博客搬至CSDN
    【原创】大叔问题定位分享(39)azkaban定期出现fullgc
    【原创】大叔经验分享(129)mac下启动MAT报错
    【原创】大数据基础之Doris(1)编译安装和启动
  • 原文地址:https://www.cnblogs.com/Skypeduty1225/p/13693475.html
Copyright © 2011-2022 走看看