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)



            

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容