Python-知识点及例题解析
前言
这里一名大一新生,初次接触编程,也是第一次写博客。本文主要分享一学期以来学习到的Python知识点总结,和一些相关题目的解析。代码可能写的不是很好,请轻喷!如有错误欢迎指出!!有什么问题也欢迎大家一起讨论。
知识点汇总思维导图
一、语言基础
1.1语法特点
1.1.1注释规则
1.1.2代码注释、编码规范
1.2 变量
1.2.1保留字与标识符
1.2.2定义变量
1.3基本数据类型
1.3.1数字、字符串
1.3.2布尔类型
1.3.3 数据类型转换
例题1:输入一个超过5位的整数,输出“xxxx万”和“xxxxk”
- 本题需先用int()把输入的字符串转为整数类型,再进行运算(单位换算)
a = input("请输入一个大于五位数的整数")
b = int(a) / 10000
c = int(a) /1000
print(str(b) + "万" + "\n" + str(c) + "k")
运行结果
1.4基本输入与输出
输入:input()
输出:print()
二、运算符与表达式
2.1运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
2.2运算符的优先级
三、流程控制语句
3.1条件结构
例题2用if-elif-else语句判断数据输入是否符合要求:
以某大学学分绩点计算规则,判断输入学分是否符合要求
A = input("输入课程的学分(1-3):") #输入课程的学分
if not str(A).isdigit() : #判断输入值是否为数字
print("请重新输入") #提示重输
elif int(A) > 3 : #判断输入值是否大于3
print("请重新输入")
elif int(A) < 1: #判断输入值是否小于1
print("请重新输入")
else:
print("输入正确")
3.2循环结构
例题3
利用for循环输出1月中所有星期一的日期(以2017年为例,假设20170101为星期一)
print("1月中所有星期一的日期:" )
for a in range(20170101,20170132,7): #开始循环
print(a) #输出
运行结果
四、序列
序列结构主要有列表、元组、集合、字典和字符串。
4.1 序列通用操作
- 操作符
例题4
判断元素是否在列表中
- 函数及方法
4.2列表
例题5
a = [42, 16, 23, 39]
a.reverse()
print(a)
运行结果
例题6
假设某商场在不同地点安放了 5 台自动售货机,编号分别为 A、B、C、D、E。利用销售记录,查询售货机的销售记录
#列表数据 [商品金额,实际金额,商品名称,售货机编号]
verse1 = [4.5,4.5,'68g好丽友巧克力派2枚','D']
verse2 = [3,3,'40g双汇玉米热狗肠','A']
verse3 = [5.5,5.5,'430g泰奇八宝粥','E']
verse4 = [5,5,'48g好丽友薯愿香烤原味','C']
verse5 = [3,3,'600ml可口可乐','B']
verse6 = [4.5,4.5,'营养快线','B']
verse7 = [7,7,'330ml伊利畅意乳酸菌原味','C']
verseALL = [verse1,verse2,verse3,verse4,verse5,verse6,verse7]
a = input("输入一个大写字母(A-E):") #输入字母
for A in verseALL: #开始循环
if a ==A[3]: #寻找符合输入字母的销售记录
print(A) #输出销售记录
运行结果
4.3元组
4.4字典
- 还可通过映射函数创建字典
dictionaryName = dict(zip(list1,list2))
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想得到元组,可以将zip对象使用tuple()函数转换元组;如果想得到列表,则可以使用list()函数将其转换为列表。
例题7
a = (10, 11, 12, 13)
b = (71, 26, 85, 89)
d = dict(zip(a,b))
print(tuple(d.keys()))
运行结果
(10, 11, 12, 13)
4.5集合
例题8
a = {'欧', '阳', 73}
b = {3, 4, 73}
print( a&b )
运行结果
{73}
4.6字符串
-
字符串处理函数
-
字符串处理方法
五、函数
例题9 定义并调用函数
def grade(score): #定义函数1
if score < 60: #判断输入评价
grade = 0
else:
grade = score / 10 - 5 #计算绩点
print('该门科目的绩点为:' + str(grade),'\n') #输出绩点
grade(80) #调用函数
运行结果
-
返回值
-
lambda函数
例题10
f = lambda x,y:x+y
print(f(5,10))
运行结果
15
六、模块
- 模块的定义
- 标准库
例题11
新建一个名为name的py文件作为模块,该模块可用于计算球体的表面积及体积,这里需要用import导入模块math用于计算
pi为π
调用模块name
七、异常处理
例题12
以为为常见错误的例子
#NameError
print(name)
#IndexError
lis1 = [1,2]
print(lis1[2])
#SynatError
while True
#IndentationError
if a > 1:
a += 1
#ValueError
a = int('str')
b = a/2
#KeyError
dic1 = {'d1':1,'d2':2}
dic1['d3']
#ImportError
from math import abc
#AttributeError
lis2=[1,2]
lis2.strip(',')
#TypeError
b = 'str'
a = 2/b
#ZeroDivisionError
a=2/0
例题13
print 出 列表lst 中所有能够用 int()转为整数的元素,用try…except语句处理不能使用int()函数的元素时,报错时跳过。
lst= ['a',23,12,'56','123ab',False,'512',True]
for i in lst:
try:
print(int(i)) #print出能用int()转为整数的元素
except:
pass #报错时pass
运行结果
八、文件操作
- mode参数的参数值说明
- 文件指针
例题14
用open()函数创建一个名为Python的文本文档,并写入文字
f = open('Python.txt','w') #创建文档并运行读写模式
str1 = '<Python>+创建的第一个文本文件!' #设置字符串1
t = f.write(str1) #将字符串1写入文档
f.close() #关闭文件
九、数据清洗
例题15
本例题使用某服装公司 2013 年 1 月 1 日至 8 月 28 日的经营数据,根据附件(csv文件)数据编程完成以下任务实销金额为 0 时,成本金额在[0, 300]区间表示该商品为普通赠品,成本金额大于 300 时该订单失效,需删除。
预处理后数据文件命名为 task1.csv。