Python语言程序设计(北理工)
一、Python基本语法元素
1.1 程序设计基本方法
编译和解释
-
源代码:采用某种编程语言编写的计算机程序,人类可读
-
目标代码:计算机可直接执行,人类不可读(专家除外)
-
编译:将源代码一次性转换成目标代码的过程
-
解释:将源代码逐条转换成目标代码同时逐条运行的过程
静态语言和脚本语言
-
静态语言:使用编译执行的编程语言,如C/C++,Java
-
脚本语言:使用解释执行的编程语言,如Python,JavaScript,PHP
-
执行方式不同,优势也各有不同:静态语言优化更充分,程序运行速度更快;脚本语言执行程序时需要源代码,维护更灵活。
程序的基本编写方法
IPO:输入Input;处理Process;输出Output
编程解决问题的步骤:
-
分析问题:分析问题的计算部分,想清楚;
-
划分边界:划分问题的功能边界,规划IPO;
-
设计算法:设计问题的求解算法,关注算法;
-
编写程序:编写问题的计算程序,编程;
-
调试测试:调试程序使正确运行,运行调试;
-
升级维护:适应问题的升级维护,更新完善。
精简步骤:1.确定IPO;2.编程;3.调试
编程很棒,还不赶紧学起来!
1.2 Python开发环境配置
https://www.python.org/downloads/
https://www.python123.io/download
Python的两种编程方式
交互式和文件式
- 交互式:对每个输入语句即使运行结果,适合语法练习
- 文件式:批量执行一组语句并运行结果,编程的主要方式
1.3 实例1:温度转换
摄氏度><华氏度
问题分析
- 输入:摄氏度或者华氏度
- 处理:根据温度标志选择温度转换算法
- 输出:带摄氏或华氏标志温度值
- 输入输出格式:例如82F,32C
- 设计算法:C = (F-32)/1.8;F = C*1.8+32
编写程序
#TempConvert.py
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
举一反三
Python语法元素理解:从10行代码开始学习Python
1.4 Python程序语法元素分析
程序的格式框架
- 代码高亮:编程的色彩辅助体系,不是语法要求
- 缩进:一行代码开始前的空白区域,表达程序的格式框架
- Python中缩进要求严格:严格明确;所属关系;长度一致
- 注释:#(单行注释);‘’‘(多行注释)’‘’
命名与保留字
- 变量:程序中用于保存和表示数据的占位符号
- 命名:为变量关联标识符的过程
- 命名规则:大小写字母、数字、下划线和汉字等字符及组合;注意大小写敏感、首字符不能是数字、不与保留字相同
- 保留字:被编程语言内部定义并保留使用的标识符(Python中有33个)
数据类型
10,011,101可以表示为二进制数字或者十进制数字,也可以表示一段文本,或者用逗号分隔的3个数字,作为一段文本一共包含10个字符(包括逗号),程序设计语言不允许存在语法歧义,因此需要定义数据的形式,程序设计语言通过一定的方式向计算机表达数据的形式,这种方式就叫做数据类型。例如整数类型:10011101;字符串类型:“10,011,101”;列表类型:[10,011,101]。
-
字符串:由0个或多个字符组成的有序字符序列,字符串由一堆单引号或一对双引号表示,字符串是字符的有序序列,可以对其中的字符进行索引。“请输入带有符号的温度值:”,"请"是第0个字符。字符串中编号是从0开始的。
-
字符串的序号:正向递增序号和反向递减序号
-
使用 [] 获取字符串中的一个或多个字符
索引:返回字符串中的单个字符,<字符串> [M]
“请输入带有符号的温度值:”[0] 或者 TempStr[-1]
切片:返回字符串中的一段字符子串,<字符串> [M:N]
“请输入带有符号的温度值:”[1:3] 或者 TempStr[0:-1] (不包括字符串最后一个字符)
-
整数:数学中的整数,32或-89
浮点数:数学中的实数带有小数部分,1.8或-1.0
列表类型:使用 [] 表示,采用逗号,分隔各元素,[‘F’,‘f’] 表示两个元素 F 和 f ,使用保留字 in 判断一个元素是否在列表中,TempStr[-1] in [‘C’ , ‘c’] 判断前者是否与列表中某个元素相同
语句与函数
-
赋值语句:
= 赋值语句用来给变量赋予新的数据值同时语句右侧的数据类型同时作用于变量,TempStr = input(" ") # input() 返回一个字符串,TempStr 也是字符串
-
分支语句:
由判断条件决定程序运行方向的语句,使用保留字 if elif else 构成条件判断的分支结构,if TempStr[-1] in [‘F’,‘f’]: # 如果条件为 Ture 则执行冒号后的语句,每个保留字所在行最后存在一个冒号,这是语法的一部分
-
函数:
根据输入参数产生不同输出的功能过程,print(“输入格式错误”) # 打印输出 “输入格式错误”,函数采用 <函数名>(<参数>) 方式使用,eval(TempStr[0:-1]) # TempStr[0:-1] 是参数
Python程序的输入和输出
-
输入函数 input():从控制台获得用户输入的函数
格式:<变量> = input(<提示信息字符串>),用户输入的信息以字符串类型保存在<变量>中,TempStr = input(“请输入”) # TempStr 保存用户输入的信息
-
输出函数 print():以字符形式向控制台输出结果的函数
格式:print(“转换后的温度是{:.2f}C”.format©) # {}表示槽,后序变量填充到槽中, {:.2f} 表示将变量C填充到这个位置时取小数点后2位
-
评估函数 eval():去掉参数最外侧引号并执行余下语句的函数
格式:eval(<字符串或字符串变量>)
eval(“1”)
1
eval(“1+2”)
3
eval(’“1+2”’)
‘1+2’
eval(‘print(“Hello”)’)
Hello
1.5 作业
Hello World的条件输出:
获得用户输入的一个整数,参考该整数值,打印输出"Hello World"
要求:
如果输入值是0,直接输出"Hello World"
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符);
如果输入值小于0,以垂直方式输出"Hello World"。
#Hello World.py
C = input()
C = eval(C)
if C == 0:
print("Hello World")
elif C > 0:
print("He\nll\no \nWo\nrl\nd")
else:
print("H\ne\nl\nl\no\n \nW\no\nr\nl\nd")
数值运算
获得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
#shuzhiyunsuan.py
s = eval(input())
print("{:.2f}".format(s))