学习大数据DAY36 Python最终阶段测试

目录

[一、选择题 每题 3 分,共 30 分](#一、选择题 每题 3 分,共 30 分)

[二、编程题 (共 70 分)](#二、编程题 (共 70 分))

接下来遇到:


一、选择题 每题 3 分,共 30 分

1.print("ab" + "c"*2)的结果是?( C )
A. abc2
B. abcabc
C. abcc
D. ababcc
2.程序代码如下
try:
number = int(input("请输入数字:"))
print("number:",number)
print("=hello")
except Exception as e: # 报错错误日志
print("打印异常详情信息: ",e)
else:
print("没有异常")
输入的是 1a 结果是?(D) X 正确答案:B
A. number: 1 打印异常详情信息: invalid literal for int() with base 10:
'1a'
B. 打印异常详情信息: invalid literal for int() with base 10:'1a'
C. hello=== 打印异常详情信息: invalid literal for int() with base 10:
'1a'
D. 以上都不正确
3. 关于面向对象的继承,以下选项中描述正确的是?( C) X 正确答案:B
A. 继承是指一组对象所具有的相似性质
B. 继承是指类之间共享属性和操作的机制
C. 继承是指各对象之间的共同性质
D. 继承是指一个对象具有另一个对象的所有属性
4.下面的语句哪个会无限循环下去?( B)
A. for a in range(10): time.sleep(10)
B. while 1<10: time.sleep(10)
C. while True: break
D. a = [3,-1,','] for i in a:
continue 5.下面这段代码运行结果是? numbers = [1, 2, 3, 4]
numbers.append([5,6,7,8])
print(len(numbers)) ( B)
A. 4
B. 5
C. 6
D. 8
6.以下关于循环控制语句描述错误的是哪一项______。( B)
A、Python 中的 for 语句可以在任意序列上进行迭代访问,例如列表、字符串
和元组。
B、在 Python 中 if...elif...elif...结构中必须包含 else 子句。
C、在 Python 中没有 switch-case 的关键词,可以用 if...elif...elif...来等
价表达。
D、循环可以嵌套使用,例如一个 for 语句中有另一个 for 语句,一个 while 语
句中有一个
for 语句等。
7、关于 Python 程序格式框架的描述,以下选项中错误的是(B)。
A.判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达
对应的语义
B.Python 语言可以不采用严格的"缩进"来表明程序的格式框架
C.Python 单层缩进代码属于之前最临近的一行非缩进代码,多层缩进代码根据
缩进关系决
定所属范围
D.Python 语言的缩进可以使用 Tab 键实现
8.关于列表的说法,描述有错误的是(D
)。
A.list 是一个有序的列表,没有固定大小
B.list 可以存放任意类型的元素
C.使用 list 时,其下标可以是负数
D.list 是不可变长的
9、以下关于字典操作的描述中,错误的是( D)
A. del()用于删除字典或者元素
B. clear()用于清空字典中的数据
C. len()方法可以计算字典中键值对的个数
D. keys()方法可以获取字典的值视图
10.下列有关函数的说法中,正确的是(C
)。
A.函数的定义必须在程序的开头
B.函数定义后,其中的程序就可以自动执行
C.函数定义后需要调用才会执行
D.函数体与关键字 def 必须左对齐

二、编程题 (共 70 分)

1.对一个列表进行处理,将该列表中的邮箱用户的号进行提取,输出号列表,使
用通用做法。
附上所有代码,并将运行结果截图。(10 分)
list1=["567322456@qq.com","22948593@qq.com","sina4532214@163.com"]
输出:

'567322456', '22948593', 'sina4532214'



2.编写函数,传入一个名字列表,例如:name = ['王者智慧','李有钱'],将所
有人名进行
脱敏处理,使用*替换除第一个字以外的其他字,要求有多少个字被替换则显示
几个*,返回
列表并输出,使用通用做法。附上所有代码,并将运行结果截图。(10 分)
输出:['王***','李**']
name = [ ' 王者智慧 ' , ' 李有钱 ' ]
for i in name :
for j in i :
if j != i [ 0 ]:
i = i . replace ( j , '*' )
print ( name )
X 本人重写:

3.定义一个学校人员类 SchoolPerson,其中,属性:姓名 sname、密码 spwd;
方法:打印
信息的 print_info 方法。
创建学生类 Student,继承自 SchoolPerson 类,添加额外属性:学号 sno。 添加方法:打印学生的所有信息 print_info 方法。
定义学生类的对象。输出如下:
姓名是:周杰伦,密码是:123456,学号是:s001
姓名是:刘德华,密码是:888888,学号是:s002
附上所有代码,并将运行结果截图。(10 分)

python 复制代码
class SchoolPerson:
sname=""
spwd=""
def print_info(self):
print(f"姓名是:{self.sname},密码是:{self.spwd}")
def __init__(self,sname,spwd):
self.sname=sname
self.spwd=spwd
class Student(SchoolPerson):
sno=""
def print_info(self):
print(f"姓名是:{self.sname},密码是:{self.spwd},学号是:
{self.sno}")
def __init__(self,sname,spwd,sno):
super().__init__(sname,spwd)
self.sno=sno
if __name__=="__main__":
zhoujielun=Student("周杰伦","123456","s001")
liudehua=Student("刘德华
","888888","s002")zhoujielun.print_info()
liudehua.print_info()

4.有已知文件 t1.txt
t1.txt
利用文件操作读取内容并处理后写入到文件 t2.txt 中。t2.txt 格式如下:
附上所有代码,并将运行结果截图。(15 分)
with open ( "D: \\ t1.txt" , mode = 'r' , encoding = 'UTF-8' ) as f :
result = f . read ()
f . close ()
list1 =[]
dict1 ={}
with open ( "D: \\ t1.txt" , mode = 'a' , encoding = 'UTF-8' ) as g :
for i in result :
for j in i :
if j == i [ 0 ]:
dict1 [ 'id' ]= j
elif j == i [ 1 ]:
dict1 [ 'name' ]= j
elif j == i [ 2 ]: dict1 [ 'age' ]= j
elif j == i [ 3 ]:
dict1 [ 'phone' ]= j
elif j == i [ 4 ]: dict1 [ 'job' ]= j
list1 . append ( dict1 )
X 参考答案:

python 复制代码
info=""
with open("/root/python/t1.txt",mode="r",encoding="utf-8") as f:
info=f.readlines()
f.close()
with open("/root/python/t2.txt",mode="w",encoding="utf-8") as f:
f.write("[\n")
dict1={}
for i in info:
list1=i.split(",")#分割为列表
dict1["id"]=list1[0]
dict1["name"]=list1[1]
dict1["age"]=list1[2]
dict1["phone"]=list1[3]
dict1["job"]=list1[4].replace("\n","")
f.write(str(dict1)+"\n")
f.write("]")
f.close()

5、在第三题的基础上完成,已知数据库表及数据如下:
create table if not exists student(
sname varchar ( 20 ),
spwd varchar ( 20 ),
sno varchar ( 10 ) primary key
) ;
insert into student values ( '周杰伦' , '123456' , 's001' ) ;
insert into student values ( '刘德华' , '888888' , 's002' ) ;
使用三层架构+mysql+html+flask 完成登录功能,
效果如下:
账号密码正确则提示登录成功,错误则提示登录失败
附上所有代码,并将运行结果截图。(25 分)
X 参考答案:
DAL.py:

python 复制代码
import pymysql
class DBHelper:
#方法
def openDB(self):
global conn
conn=pymysql.connect(host="192.168.159.129",user="root",password="root123456",
database="test",charset="utf8")
def self.closeDB(self):
baoma.close()
conn.close()
#数据增删改
def edit(self,sql):
self.openDB()
baoma=conn.cursor()
result=baoma.execute(sql)
conn.commit()
self.closeDB()
return result
#查询一条
def selectOne(self,sql):
self.openDB()
baoma=conn.cursor()
baoma.execute(sql)
result=baoma.fetchone()
self.closeDB()
return result
#查询多条
def selectAll(self,sql):
self.openDB()
baoma=conn.cursor()
baoma.execute(sql)
result=baoma.fetchall()
self.closeDB()
return result
class StudentDAL(DBHelper):
def login(self,xuesheng):
sql=f"select * from student where sno='{xuesheng.sno}' and
spwd='{xuesheng.spwd}'"
return self.selectOne(sql)

BLL.py:

python 复制代码
from flask import Flask,render_template, request
from DAL import StudentDAL
from Model import Student
db=StudentDAL()
app=Flask(__name__)
@app.route("/")def index():
return render_template("login.html")
@app.route("/loginSubmit",methods=['POST'])
def addSubmit():
sno=request.form.get("sno")
spwd=request.form.get("spwd")
xuesheng=Student("",spwd,sno)
result=db.login(xuesheng)
if result!=None:
return "登录成功"
else:
return "登录失败"
if __name__=="__main__":
app.run(host="127.0.0.1",port="5000",debug=True)

Login.html:

html 复制代码
<html>
<head>
<title>登录</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>*****登录*******</h1>
<form method="post" action="/login">
<p>
账号:<input type="text" name="sno"/>
</p>
<p>
密码:<input type="password" name="spwd"/>
</p>
<p>
<input type="submit" value="登录"/>
</p>
</form>
</body>
</html>

我考试前还一脸自信的,结果真考到知识盲区了,再加上VSCODE远程连接一直没连上,心态有点崩。考的很差,我会继续努力的。

接下来遇到:

相关推荐
乐世东方客5 分钟前
Nacos-2.1.0问题-自己记录
开发语言·python
AI技术增长10 分钟前
Pytorch图像去噪实战(二):用UNet解决DnCNN细节丢失问题(结构解析+完整代码+踩坑总结)
人工智能·pytorch·python
益企联工程项目管理软件23 分钟前
2026工程管理软件推荐:7款工具助力工程项目数字化升级!
大数据·人工智能·云原生·项目管理·制造
dFObBIMmai29 分钟前
CSS如何检测页面浮动元素位置_使用审查工具与clear
jvm·数据库·python
qq_4609784034 分钟前
实现 Svelte 中基于数组索引的 details 元素单开单关交互
jvm·数据库·python
事变天下43 分钟前
第四届超声医学青年学术会议,推出全新启元AI超声生态
大数据·人工智能
AI科技星1 小时前
ELN 升级:π 级数自动生成器全域数理架构
大数据·人工智能·python·算法·金融
@insist1231 小时前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
用户9352013986791 小时前
淘宝开放平台 item_cat_get 接口详解:获取淘宝商品类目
python
dfdfadffa1 小时前
SQL窗口函数如何优化嵌套子查询_提升执行效率
jvm·数据库·python