python基础语法、数据结构、字符编码、文件处理 练习题
'''
1、python入门:编程语言相关概念
2、python基础语法:变量、运算符、流程控制
3、数据结构:数字、字符串、列表、元组、字典、集合
4、字符编码
5、文件处理
'''
考试内容
1、简述什么是编程
编写控制计算机的指令,奴役计算机完成我们想让计算机完成的事
2、简述什么是编程语言
按照某种规范编写出来的计算机指令,根据不同规范诞生了不同的编程语言
3、编程语言的分类与特点描述
机器语言 - 运行效率高
汇编语言 - 增加可读性
高级语言 - 开发效率高
4、高级语言分类与工作原理简介
编译型 - 先编译在执行
解释性 - 边解释边执行
5、介绍你知道的编程语言
C Java Python
6、要在一个新电脑上运行python程序,需要进行哪些一步步操作
安装python解释器
配置环境变量
运行python程序
或者:
安装python解释器
安装python编辑器选取解释器
运行python程序
7、解释一下什么是变量
计算机运行过程中,状态可以发生改变的量
8、python中如何定义变量,并简述定义变量的流程
变量名 = 变量值
num = 10
9、简述变量名的命名规范
可以由字母数字及下划线组成
不能以数字开头
不能与系统关键字重名
10、定义的变量拥有的三要素,python中如何查看它们,用代码简述
num = 10
值:num
类型:type(num)
地址:id(num)
11、有几种注释?用代码简述
# 单行
'''
多行
'''
12、常用的数据类型有哪些(文字或英文解释)
bool int float str list tuple dict set
13、用代码简述常用数据类型的定义声明
a = 10
b = 3.14
c = ''
d = [1, 2, 3]
e = (1, 2, 3)
f = {'name': 'Bob', 'age': 18}
g = {1, 2, 3}
14、数字5和2运算,然后得到2.5和2两种运算结果
5 / 2
5 // 2
15、利用2、17、50三个数得到256结果
(50 % 17) ** 2
16、在python3环境下,实现从键盘录入分数(只考虑0~100的合法分数),实现有(满分|通过|未通过)三种输出结果
grade = int(input('grade: '))
if grade == 100:
print('满分')
elif grade >= 60:
print('通过')
else:
print('未通过')
17、录入一个学生的两门成绩,如果两门都及格,则打印 "通过",否则 "不通过"
g1 = int(input('class1 grade: '))
g2 = int(input('class2 grade: '))
if g1 >= 60 and g2 >= 60:
print('通过')
else:
print('不通过')
18、录入两个人的身高,打印是否存在 "存在180cm已上大高个" | "不存在180cm已上大高个"
h1 = int(input('person1 height: '))
h2 = int(input('person2 height: '))
if h1 > 180 or h2 > 180:
print('存在180cm已上大高个')
else:
print('不存在180cm已上大高个')
19、从键盘录入学生分数,录入Q时退出录入,实现统计录入的次数
count = 0
while True:
grade = input('grade: ')
if grade != 'Q':
break
count += 1
print(count)
20、学生进行两门课考试,第一门未通过一直重考,通过后进入第二门考试,未通过一直重考第二门,通过后打印 "通过" 并结束考试(通过输入考试成绩模拟考试)
is_over = False
while not is_over:
g1 = int(input('grade1: '))
if g1 >= 60:
while True:
g2 = int(input('grade2: '))
if g2 >=60:
print('通过')
is_over = True
break
21、取出 "abc123好" 中的汉字
s = "abc123好"
print(s[-1:])
22、键盘上录入usr和pwd,一次性分两行打印:
账号为:***
密码为:***
usr = input('usr: ')
pwd = input('pwd: ')
print('''账号为:%s
密码为:%s''' % (usr, pwd))
辅助23~25: "今天天气好晴朗,天上彩云一朵朵,比昨天好!"
23、计算字符串长度、"天"出现的次数、"彩"是否出现过
24、获取字符串中标识时间的子字符串
25、判断字符串是否以 "!" 结尾,如果是替换为 "。"
s = "今天天气好晴朗,天上彩云一朵朵,比昨天好!"
print(len(s), s.count('天'), '彩' in s)
print(s[:2], s[-4:-2])
if s.endswith('!'):
s = s.replace('!', '。')
print(s)
26、完成 "1@2@3@4@5" 与 ['1', '2', '3', '4', '5'] 之间的相互转换
"1@2@3@4@5".split('@')
'@'.join(['1', '2', '3', '4', '5'])
27、利用添加append及插入insert的两种方式,在 [1, 2, 3, 4, 5] 列表的最后插入6和7
ls = [1, 2, 3, 4, 5]
ls.append(6)
ls.insert(len(ls), 7)
28、将以下信息转换为字典结构存储 [ ('name', 'Bob'), ('age', 18), ('gender', 'male') ]
ls = [('name', 'Bob'), ('age', 18), ('gender', 'male')]
dic = {}
for k, v in ls:
dic[k] = v
print(dic)
29、选取一种数据结构存储两个学生的选课信息
Bob:语文、政治、英语
Tom:高数、线代、英语
问:只被Tom选择了的课程;两个人都选择了的课程、被选的所有课程
bob = {'英文', '语文', '政治'}
tom = {'英文', '高数', '线代'}
print(tom - bob)
print(bob & tom)
print(bob | tom)
30、简述列表、元组、字典、集合几个数据类型的特点:取值依据|是否可变|有序无序|值能否重复
列表:索引,可变,有序,能
元组:索引,不可变,有序,能
字典:key,可变,无序,能
集合:无,可变,无序,不能
31、复制source.mp4为target.mp4
with open('source.mp4', 'rb') as f1, open('target.mp4', 'wb') as f2:
for line in f1:
f2.write(line)
32、读取一个文件内容,检索文件中标题的个数(个数在1~10个浮动),并修改原文件末尾的part信息
eg:文件内容:
1.this part one
2.this part two
3.this part three
part
修改后:
1.this part one
2.this part two
3.this part three
three part
part_map = {
1: 'one',
2: 'tow',
3: 'three'
}
with open('a.txt', 'rb+') as f:
data = f.read().decode('utf-8')
count = 0
for v in data:
if v.isdigit():
count += 1
end = part_map[count] + ' part'
end = end.encode('utf-8')
f.seek(-4, 2)
f.write(end)