【慕课课程讲义】第一章 基本方法/开发环境/温度转换(语法元素分析)

1.1-程序设计基本方法
计算机的概念
计算机是根据指令操作数据的设备

  • 功能性
    对数据的操作,表现为数据计算、输入输出处理和结果存储等
  • 可编程性
    根据一系列指令自动地、可预测地、准确地完成操作者的意图

计算机的发展
计算机的发展参照摩尔定律,表现为指数方式

  • 计算机硬件所依赖的集成电路规模参照摩尔定律发展
  • 计算机运行速度因此也接近几何级数快速增长
  • 计算机高效支撑的各类运算功能不断丰富发展

摩尔定律 Moore’s Law
计算机发展历史上最重要的预测法则

  • Intel公司创始人之一戈登·摩尔在1965年提出
  • 单位面积集成电路上可容纳晶体管的数量约每两年翻一番
  • CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律

计算机的发展
计算机的发展参照摩尔定律,表现为指数方式

  • 当今世界,唯一长达50年有效且按照指数发展的技术领域
  • 计算机深刻改变人类社会,甚至可能改变人类本身
  • 可预见的未来30年,摩尔定律还将持续有效

程序设计
程序设计是计算机可编程性的体现

  • 程序设计,亦称编程,深度应用计算机的主要手段
  • 程序设计已经成为当今社会需求量最大的职业技能之一
  • 很多岗位都将被计算机程序接管,程序设计将是生存技能

程序设计语言
程序设计语言是一种用于交互(交流)的人造语言

  • 程序设计语言,亦称编程语言,程序设计的具体实现方式
  • 编程语言相比自然语言更简单、更严谨、更精确
  • 编程语言主要用于人类和计算机之间的交互

编程语言种类很多,但生命力强劲的却不多

  • 编程语言有超过600种,绝大部分都不再被使用
  • C语言诞生于1972年,它是第一个被广泛使用的编程语言
  • Python语言诞生于1990年,它是最流行最好用的编程语言

编程语言的执行方式
计算机执行源程序的两种方式:编译和解释

  • 源代码:采用某种编程语言编写的计算机程序,人类可读
    例如:result = 2 + 3
  • 目标代码:计算机可直接执行,人类不可读 (专家除外)
    例如:11010010 00111011

编译
将源代码一次性转换成目标代码的过程
执行编译过程的程序叫作编译器
解释
将源代码逐条转换成目标代码同时逐条运行的过程
执行解释过程的程序叫作解释器
编译和解释
在这里插入图片描述

  • 编译:一次性翻译,之后不再需要源代码(类似英文翻译)
  • 解释:每次程序运行时随翻译随执行(类似实时的同声传译)

静态语言和脚本语言
根据执行方式不同,编程语言分为两类

  • 静态语言:使用编译执行的编程语言

C/C++语言、Java语言

  • 脚本语言:使用解释执行的编程语言
    Python语言、JavaScript语言、PHP语言

执行方式不同,优势各有不同

  • 静态语言:编译器一次性生成目标代码,优化更充分
    程序运行速度更快
  • 脚本语言:执行程序时需要源代码,维护更灵活
    源代码在维护灵活、跨多个操作系统平台

程序的基本编写方法
IPO
程序的基本编写方法

  • I:Input 输入,程序的输入

  • 文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等

  • 输入是一个程序的开始

  • P:Process 处理,程序的主要逻辑

处理是程序对输入数据进行计算产生输出结果的过程

  • 处理方法统称为算法,它是程序最重要的部分
  • 算法是一个程序的灵魂

O:Output 输出,程序的输出
控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等

  • 输出是程序展示运算结果的方式

问题的计算部分
一个待解决问题中,可以用程序辅助完成的部分

  • 计算机只能解决计算问题,即问题的计算部分
  • 一个问题可能有多种角度理解,产生不同的计算部分
  • 问题的计算部分一般都有输入、处理和输出过程

编程解决问题的步骤

  • 分析问题:分析问题的计算部分,想清楚
  • 划分边界:划分问题的功能边界,规划IPO
  • 设计算法:设计问题的求解算法,关注算法
  • 编写程序:编写问题的计算程序,编程序
  • 调试测试:调试程序使正确运行,运行调试
  • 升级维护:适应问题的升级维护,更新完善

求解计算问题的精简步骤

  • 确定IPO:明确计算部分及功能边界
  • 编写程序:将计算求解的设计变成现实
  • 调试程序:确保程序按照正确逻辑能够正确运行

1.2 Python开发环境配置

Python基本开发环境IDLE
Python官方提供 适用于小规模程序开发

  • Python官方环境:Python解释器 + IDLE开发环境
  • 轻量级:只有几十MB大小,使用灵活
  • 功能丰富:编辑器+交互环境+标准库+库安装工具…

下载地址: www.python.org/downloads
或者: www.python123.io/downloads

Python的两种编程方式

  • 交互式:对每个输入语句即时运行结果,适合语法练习
    在这里插入图片描述
  • 文件式:批量执行一组语句并运行结果,编程的主要方式
    在这里插入图片描述

Python高级开发环境VSCode

VSCode:Visual Studio Code

  • 微软出品,与Visual Studio同质量的专业级开发工具
  • 跨平台免费工具:支持Windows/Linux/MacOS
  • 编辑器模式:轻量级、功能丰富、可扩展性强…

第一步:安装IDLE环境;第二步:安装VSCode

  • 下载地址: https://code.visualstudio.com
  • 工具大小约 50MB

1.3 “温度转换”实例

  • 摄氏度:中国等世界大多数国家使用
    以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
  • 华氏度:美国、英国等国家使用
    以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

问题分析
该问题中计算部分的理解和确定

  • 理解1:直接将温度值进行转换
  • 理解2:将温度信息发布的声音或图像形式进行理解和转换
  • 理解3:监控温度信息发布渠道,实时获取并转换温度值

问题分析
分析问题

  • 采用 理解1:直接将温度值进行转换
    温度数值需要标明温度体系,即摄氏度或华氏度
    转换后也需要给出温度体系

划分边界

  • 输入:带华氏或摄氏标志的温度值
  • 处理:根据温度标志选择适当的温度转换算法
  • 输出:带摄氏或华氏标志的温度值

输入输出格式设计
标识放在温度最后,F表示华氏度,C表示摄氏度
82F表示华氏82度,28C表示摄氏28度

设计算法
根据华氏和摄氏温度定义,利用转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
其中, C表示摄氏温度, F表示华氏温度

可以在这个代码基础上进行举一反三
1.4 Python程序语法元素分析
代码高亮:编程的色彩辅助体系,不是语法要求

缩进:一行代码开始前的空白区域,表达程序的格式框架
在这里插入图片描述
缩进
缩进表达程序的格式框架

  • 严格明确:缩进是语法的一部分,缩进不正确程序运行错误
  • 所属关系:表达代码间包含和层次关系的唯一手段
  • 长度一致:程序内一致即可,一般用4个空格或1个TAB

注释:用于提高代码可读性的辅助性文字,不被执行
注释
不被程序执行的辅助性说明信息

  • 单行注释:以#开头,其后内容为注释
  • 多行注释:以’’‘开头和结尾
    ‘’’ 这是多行注释第一行
    这是多行注释第二行 ‘’’

缩进 注释
变量:程序中用于保存和表示数据的占位符号
变量
用来保存和表示数据的占位符号

  • 变量采用标识符(名字) 来表示,关联标识符的过程叫命名
    TempStr是变量名字
  • 可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
    TempStr = “82F” #向变量TempStr赋值"82F"

命名
关联标识符的过程

  • 命名规则: 大小写字母、数字、下划线和中文等字符及组合
    如: TempStr, Python_Great, 这是门Python好课
  • 注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
    Python和python是不同变量,123Python是不合法的

保留字
被编程语言内部定义并保留使用的标识符

  • Python语言有35个保留字(也叫关键字)
    if, elif, else, in
  • 保留字是编程语言的基本单词,大小写敏感
    if 是保留字,If 是变量
    在这里插入图片描述

数据类型

数据类型:字符串、整数、浮点数、列表
10,011,101 该如何解释呢?

  • 这是一个二进制数字 或者 十进制数字
    作为二进制数字,10,011,101的值是十进制157
  • 这是一段文本 或者 用逗号,分隔的3个数字
    作为一段文本,逗号是文本中的一部分,一共包含10个字符

供计算机程序理解的数据形式

  • 程序设计语言不允许存在语法歧义,需要定义数据的形式
    需要给10,011,101关联一种计算机可以理解的形式
  • 程序设计语言通过一定方式向计算机表达数据的形式
    "123"表示文本字符串123,123则表示数字123

10,011,101

  • 整数类型: 10011101
  • 字符串类型: “10,011,101”
  • 列表类型: [10, 011, 101]

字符串:由0个或多个字符组成的有序字符序列
字符串
由0个或多个字符组成的有序字符序列

  • 字符串由一对单引号或一对双引号表示
    "请输入带有符号的温度值: "或者 ‘C’
  • 字符串是字符的有序序列,可以对其中的字符进行索引
    “请” 是 "请输入带有符号的温度值: " 的第0个字符

字符串的序号
字符串的使用
使用[ ]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 <字符串>[M]
    "请输入带有符号的温度值: "[0] 或者 TempStr[-1]

  • 切片:返回字符串中一段字符子串 <字符串>[M: N]
    "请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

数字类型:整数和浮点数
数字类型
整数和浮点数都是数字类型

  • 整数:数学中的整数
    32 或者 -89
  • 浮点数:数学中的实数,带有小数部分
    1.8 或者 -1.8 或者 -1.0

列表类型:由0个或多个数据组成的有序序列
列表类型
由0个或多个数据组成的有序序列

  • 列表使用[ ]表示,采用逗号(,)分隔各元素
    [‘F’,‘f’]表示两个元素’F’和’f’
  • 使用保留字 in 判断一个元素是否在列表中
    TempStr[-1] in [‘C’,‘c’]判断前者是否与列表中某个元素相同

语句与函数
在这里插入图片描述
赋值语句
由赋值符号构成的一行代码

  • 赋值语句用来给变量赋予新的数据值
    C=(eval(TempStr[0:-1])-32)/1.8 #右侧运算结果赋给变量C
  • 赋值语句右侧的数据类型同时作用于变量
    TempStr=input("") #input()返回一个字符串,TempStr也是字符串

分支语句:由判断条件决定程序运行方向的语句
分支语句
由判断条件决定程序运行方向的语句

  • 使用保留字if elif else构成条件判断的分支结构
    if TempStr[-1] in [‘F’,‘f’]:#如果条件为True则执行冒号后语句
  • 每个保留字所在行最后存在一个冒号(?,语法的一部分
    冒号及后续缩进用来表示后续语句与条件的所属关系

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

  • 类似数学中的函数, y = f(x)
    print(“输入格式错误”) #打印输出 “输入格式错误”
  • 函数采用 <函数名>(<参数>) 方式使用
    eval(TempStr[0:-1]) # TempStr[0:-1]是参数

Python程序的输入输出
input():从控制台获得用户输入的函数

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

  • input()函数的使用格式:
    <变量> = input(<提示信息字符串>)
  • 用户输入的信息以字符串类型保存在<变量>中
    TempStr = input(“请输入”) # TempStr保存用户输入的信息

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

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

  • print()函数的基本使用格式:
    print(<拟输出字符串或字符串变量>)
  • 字符串类型的一对引号仅在程序内部使用,输出无引号
    print(“输入格式错误”) # 向控制台输出 输入格式错误

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

  • print()函数的格式化:
    在这里插入图片描述
    { }表示槽,后续变量填充到槽中
    { :.2f }表示将变量C填充到这个位置时取小数点后2位

输出函数 print()
以字符形式向控制台输出结果的函数
print("转换后的温度是{:.2f}C".format(C))
如果C的值是 123.456789,则输出结果为:
转换后的温度是123.45C

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

  • eval()函数的基本使用格式:
    eval(<字符串或字符串变量>)
    在这里插入图片描述
    在这里插入图片描述

申明:所有资源均来自慕课 原作者:嵩天老师团队
请勿商用 请勿商用 请勿商用
非商用请标注来源

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值