Python学习-第二遍

基本程序设计方法

如何学习课程

  • 跟上进度:跟随课程进度,完成课程要求的学习内容
  • 重视练习:课后进行额外程序设计练习

计算机概念

Computer原指专门负责计算的人,后来演变成特指计算编译,译为计算机

理解计算机

计算机是能根据一组指令操作数据的机器。

  • 功能性:可以进行数据计算
  • 可编程性:根据一系列指令来执行

计算机的组成

  • 存储程序概念

  • 存储结构的基本含义

    • 计算机(指硬件)由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成
    • 计算机内部采用二进制来表示指令和数据
    • 将编号的程序和原始数据事先存入存储器中,然后再启动计算机工作
  • 五大部件对应硬件

    • 外部设备(输入输出设备)
    • 中央处理器CPU——控制器和运算器
    • 存储器(内存,硬盘)
  • 扩展:计算机的工作原理a+b

计算机类型

  • 微型计算机
  • 嵌入式计算机
  • 超级计算机——Top500
  • 服务器级计算机
  • 网络专用计算机
  • 工业控制计算机
  • 传感器结点计算机

程序设计语言

  • 程序设计语言,也叫编程语言,是计算机能够理解和识别操作的一种交互体系

  • 最好的程序设计语言是人类的自然语言

    自然语言存在的问题

    • 存在表示歧义
    • 文学色彩浓厚
  • 程序设计语言的种类

    • 机器语言:01代码,CPU认识的语言
      例如:2+3的运算 1101001000111011
    • 汇编语言:在机器语言上增加了人类可读的助记符
      例如:2+3的运算 add 2,3,result
    • 高级语言:向自然语言靠近的语言
      例如:2+3的运算 result=2+3
  • 常用的程序设计语言

    • 程序编程语言:
      C/C++/C#/VB/Java/JavaScript/Ruby/Swift/python
    • 硬件编程语言:
      Verilog/VHDL
    • 网络编程语言:
      PHP/HTML...

Python语言语法

工具的使用

Anaconda工具的使用

  • 运行
  • python 环境3.x
  • idle 运行

ipo模式

  • I:Input 输入,程序的输入——程序的开始
  • P:Process 处理,程序的主要逻辑——也叫算法,程序的灵魂
  • O:Out 输出,程序的输出——程序展示运算成果的方式

问题的计算特性

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

通过计算技术解决温度转换

问题:如何利用Python程序进行摄氏度和华氏度的转换

步骤一:分析问题的计算部分

步骤二:确定功能,使用IPO方法进一步分析

  • 输入:华氏或者摄氏温度值、温度标识
  • 处理:温度转化算法
  • 输出:摄氏或者华氏温度值、温度标识
  • 注:
    • F表示华氏度 82F表示华氏度82度
    • C表示摄氏度 28C表示28摄氏度

步骤三:设计算法

根据华氏和摄氏温度定义,单位刻度对应温度关系的转换公式:

C = ( F - 32 ) / 1.8
F = C*1.8 + 32

步骤四:编写程序

val = input("请输入带温度表示符号的温度值(例如:32C):")
if val[-1] in ['C', 'c']:
    f = 1.8 * float(val[0:-1]) + 32
    print("转换后的温度为:%.2fF" % f)
elif val[-1] in ['F', 'f']:
    c = (float(val[0:-1]) - 32)/1.8
    print("转换后的温度为:%.2fC" % c)
else:
    print("输入有误")

步骤五:调试、运行程序

步骤六:升级维护

编写程序至少需要3个步骤:

步骤一:确定IPO

步骤二:编写程序

步骤三:调试程序

程序编写的步骤

  • 分析问题:分析问题的计算部分
  • 确定问题:将计算部分划分为确定的IPO
  • 设计算法:完成计算部分的核心处理方法
  • 编写程序:实现整个程序
  • 调试测试:使程序再各种情况下都能够正确运行
  • 升级维护:使程序长期确定运行,适应需求的微小变化

Python语法元素

注释 输入 缩进 输出

变量 分支 常量 循环

表达式

缩进

1个缩进 = 4个空格

  • 缩进是用以Python中标明代码之间的层次关系
  • 缩进是Python语言中表明程序框架的唯一手段

注释

  • 注释是程序员再代码中加入的辅助说明信息,它不能被计算机执行,也不受语法约束,可以再里面写入任何内容。
  • 一般来说,注释用来帮助程序员记录程序设计方法,辅助程序阅读。
  • 注释的两种方法
    • 单行注释以#开头
    • 多行注释以'''开头和结尾

变量

  • 变量是程序中最常使用,能够表示值的一个名称。
  • 变量表示的值可以变化。

命名

  • 命名指给程序中自定义元素关联名字的过程,命名需要保证在程序中,名字具有唯一性

  • 命名需要符合如下规则

    • 命名规则使用大小写字母、数字和下划线的组成,但首字母只能是大小写字母或下划线,不能使用空格。

    • 中文等非字母符合也可以作为名字。

    • 合法命名的标识符

      python_is_good
      python_is_not_good
      _is_it_a_question
      python语言
      

表达式

  • 表达式指程序中产生或计算新数值的一行代码。

  • Python语言的33个保留字或者操作符可以产生符合语法的表达式

    >>>x=25
    

    表示数字25赋值给变量x

空格的使用

  • 表示缩进关系的空格不能改变。
  • 空格不能将一个命名分割。
  • 除上述两条外,程序中可以任意使用空格增加程序可读性。

输入函数

  • Input()函数从控制台获得用户输入。
    使用方法如下:
    <变量>=input(<提示性文字>)
  • 获得的用户输入以字符串形式保存在<变量>中。

表达式

  • 如果val=“28C”
  • 则var[-1]是最后一个字符“C”
  • 前两个字符组成的子串可以用val[0:2]表示,它表示一个从[0,2)的区间。
  • 由于约定用户输入的最后一个字符是C或者F,之前是数字,所以通过val[0:-1]来获取除最后一个字符外的字符串。

分支语句

赋值语句

  • 同步赋值语句

    t=x
    x=y
    y=t
    x,y=y,x
    

输出函数

循环语句

for i in range(3):
    val = input("请输入带温度表示符号的温度值(例如:32C):")
    if val[-1] in ['C', 'c']:
        f = 1.8 * float(val[0:-1]) + 32
        print("转换后的温度为:%.2fF" % f)
    elif val[-1] in ['F', 'f']:
        c = (float(val[0:-1]) - 32)/1.8
        print("转换后的温度为:%.2fC" % c)
    else:
        print("输入有误")

程序编写模板

  • IPO模板

  • inital-print模板

turtle库与蟒蛇绘制程序

import turtle  # 引入turtle外部库,绘制图像


def drawSnake(rad, angle, len, neckrad):  # def定义函数
    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("blue")  # 颜色 也可以使用RGB
    turtle.seth(-40)
    drawSnake(40, 80, 5, pythonsize/2)
    turtle.pencolor("#3B9909")  # 颜色 也可以使用RGB
    turtle.seth(180)
    drawSnake(40, 80, 5, pythonsize/2)


main()

def定义函数

函数库的引用

Python对库函数引用的方式

类型的概念

  • 类型是编程语言对数据的一种划分。
  • Python语言的类型
    数字类型、字符串类型、元组类型、列表类型、文件类型、字典类型

数字类型

pow(x,y)#计算x的y次方
pow(2,10) = 1024 ,pow(2,15)=32768
pow(2,1000)
pow(2,pow(2,15))

整数类型

1010,99,-217
0x9a,-0x89		#0x,0X开头表示16进制数字
0b010,-0B101	#0b,0B开头表示2进制数字
0o123,0O456		#0o,0O开头表示8进制数字

浮点数类型

0.0,-77.,-2.17
96e4,4.3e-3,9.6E5#科学计数法
'''	科学技术法使用“e”或者“E”作为幂的符号,以10为基数。
	科学计数法含义如:<a>e<b> = a * 10x10x...(b)
'''科学计数法使用字母“e”
  • 复数类型
  • 数字类型的关系
  • 数字类型的判断

字符串类型

  • 字符串数据类型
  • 字符串的操作

元组类型

  • 元组的概念

列表类型及其操作

  • 列表的概念
  • 列表的操作

math库与random库

数学库及其使用

随机数库及其使用

问题:

math库和random库的常用使用

π的计算

posted @ 2021-01-19 10:49  温暖而不炙热  阅读(142)  评论(0编辑  收藏  举报