Python概述

  1. 查看Python版本
  2. 安装numpy
  3. 卸载numpy
  4. 查看已安装扩展库列表

编程规范

修正以下代码,让其正确执行。

1.

1
2
3
4
5
6
7
a = 99
if a<60:
print("成绩不及格")
elif a<80:
print("成绩中等")
elif a<100:
print("成绩优秀")

2.

1
2
for i in [1,2,3]:
print(i)

3.

1
2
3
4
5
def sum(a,b):
return a+b

s = sum(4,5)
print(s)

4.

1
2
3
4
5
6
7
8
class Dog:
def __init__(self, n):
self.name = n
def say(self):
print(f"我的名字叫{self.name}")
print("wang wang ~")
dudu = Dog("嘟嘟")
dudu.say()

数据类型

  1. 创建一个变量 d, 值为 -10
  2. 创建一个变量 f, 值为 10.5
  3. 创建一个变量 b, 值为 True
  4. 创建一个字符串 s, 值为 “ study Big Data “
  5. 查看以上四个变量的数据类型;

内置函数

  1. 计算d的绝对值,将绝对值赋值给一个新的变量a
  2. 计算a的3次方;
  3. 对f进行四舍五入
  4. 使用a除以3,计算商和余数
  5. 计算d+f
  6. 将d由整数类型转为字符串类型,命名为d1
  7. 计算d1和f的和
  8. 查看max函数的帮助文档
  9. 给定列表 l = [44,3,35,675,34]
  10. 计算列表l中的最大值、最小值、所有元素的和

字符串相关函数

  1. 刚才创建的字符串 s, 值为 “ study Big Data “
  2. 去除头部空格;
  3. 去除尾部空格;
  4. 查看字符串s的值
  5. 将字符串首尾空格去除后,赋值给一个新的变量s1
  6. 将s1中的字符全部转为大写
  7. 将s1中每个单词的首字母大写,赋值给一个新的变量s2
  8. 让s2在100个宽度的字符中水平居中,空白字符填充等号。
  9. 查看s2中,字符a的索引值;
  10. 将”Big”替换成”Small”
  11. 将s2,根据空格拆分成列表["Study","Big","Data"],赋值给一个新的变量l。
  12. 判断元素”Data”是否在列表l中。
  13. 使用”*”将列表l串接成字符串。Study*Big*Data

split、index、strip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# 变量
1.判断对错:Python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型了。()

# 数据类型
1.判断对错:0o12f是合法的八进制数字。()
2. 0b1000的整数值是多少。

# 运算符
1.Python运算符中用来计算商的是__________。
2.表达式17//4的值为__________。
3.表达式'3'>'111'的值为__________
4.判断对错:已知 x=3,那么赋值语句 x='abcedfg' 是无法正常执行的。()
5.表达式'abc' in 'abdc'的值为_____________。

# 内置函数
1.Python 3.x语句print(1, 2, 3, sep=':')的输出结果为__________。
2.表达式sum(map(int, str(123456)))的值为____________。
3.表达式list(filter(None, [-3, 0, 3]))的值为____________。
4 .表达式 sorted([1,2,3], reverse=True) == reversed([1,2,3]) 的执行结果为__________。
5.Python内置函数__________可以返回列表、元组、字典、集合、字符串以及range对象中的元素个数。

# 字符串
1.执行语句x, y, z = 'ABC'之后,变量x的值为____________。
2.表达式'apple,peach,peach'.index('pe')的值为_____________。
3.表达式'123abc'.islower()的值为______________。

# 列表
1.表达式 [1, 2, 3]*3 的值为 ______________________。
2.表达式len('::'.join(['a','b','c']))的值为_____________。
3.已知x = [1, 2, 3, 2, 3],执行语句x.pop()之后,x的值为_____________。
4.已知x = [3, 7, 5],那么执行语句x = x.sort(reverse=True)之后,x的值为__________。
5.已知x = list(range(10)),则表达式x[-4:]的值为__________。
6.已知x = [3, 5, 7],那么执行语句x[1:] = [2]之后,x的值为__________。
7.已知x = [3,5,3,7],那么表达式[x.index(i) for i in x if i==3]的值为__________。
8.表达式 [index for index, value in enumerate([3,5,3,7]) if value==3] 的值为__________。
9.表达式 [3,5,3,7,9][0:2] 的值为_____________。
10.表达式 [3,5,3,7,9][::3] 的值为_____________。
11.表达式 [1, 2, 1, 2, 1][-3:] 的值为___________。
12.已知x = [1, 2, 1, 2, 1],那么执行语句x = x.sort()之后,x的值为____________。
13.判断对错:已知 x = [1, 2, 1, 2, 1],那么执行语句x.remove(1)之后,x的值为[2, 2]。()
14.判断对错:已知 x = [1, 3, 5, 7, 9, 11],那么执行语句 x[:3] = reversed(x[:3]) 之后,x的值为 [5, 3, 1, 7, 9, 11]。()
15.判断对错:表达式len(list(zip([1,2,3], 'abcde')))的值为3。()

# 元组|生成器Generator
1.判断对错:表达式(i**2 for i in range(100))的结果是个元组。()
2.已知x = zip('abc', '1234'),那么连续两次执行list(x)会得到同样的结果吗?如果能,结果是什么?如果不能,请解释原因。


# 集合
1.已知 x={1, 2, 3},那么可以计算3*x的值吗?如果可以,值是什么?如果不可以,请解释原因。
2.Python运算符中用来计算集合并集的是__________。
3.Python运算符中用来计算集合差集的是__________。
4.Python运算符中用来计算集合交集的是__________。
5.表达式 {1, 2, 3, 4} - {3, 4, 5, 6}的值为__________。
6.表达式len(set([3,5,3,7,3,9]))的值为_____________。
7.判断对错:列表可以作为集合的元素。()


# 字典
1.表达式 {1:'a', 2:'b', 3:'c'}.get(4, 'd') 的值为__________。
2.已知x = {'a': 97, 'b': 98, 'c': 99},那么表达式 x.get('a', 100) 的值为_________。


# collection
1.判断对错:元组是不可变的,可以作为字典元素的“键”,但不能作为字典元素的“值”。()
2.判断对错:已知x和y是两个等长的整数列表,那么表达式sum((i*j for i, j in zip(x, y)))的作用是计算这两个列表所表示的向量的内积。()

分支循环

1
2
3
4
5
6
7
8

1.
(1). 接收用户输入的账号,赋值给 username变量`input()`
(2). 接收用户输入的密码,赋值给 password变量
(3). 接收用户输入的验证码(只为整数),赋值给变量code
(4). 假设数据库中保存的用户名为"root",密码为"123456",验证码为1010
(5). 判断用户名、密码、验证码是否正确。
(6). 正确时,打印欢迎界面;错误超过3次,程序退出。

批量重命名学生提交的大作业

重命名前,先将每个同学的zip文件进行全部解压,解压每个压缩文件到单独的目录中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import os
import shutil
path = r"C:\Users\Qingyuan_Qu\Downloads\C-期末大作业(word)"

a = 0
for root, dirs, files in os.walk(path):
size = 0
old_path = ""

for f in files:
stat = os.stat(root+"\\"+f)
if stat.st_size > size:
size = stat.st_size
old_path = root+"\\"+f
print(old_path) # 源路径
parent_path = os.path.split(old_path)[0]
parent_dir_name = os.path.basename(parent_path) # 拿到文件的父级目录名
extend_name = os.path.splitext(old_path)[1] # 源文件扩展名
file_new_path = parent_path+extend_name # 组合成新路径,文件名命名为(父级目录名+源文件扩展名)
print(file_new_path)
if a!=0: # 跳过根节点 path
shutil.copyfile(old_path, file_new_path) # 将文件重命名后复制到根节点path
a = a+1