学习大数据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远程连接一直没连上,心态有点崩。考的很差,我会继续努力的。

接下来遇到:

相关推荐
Qspace丨轻空间几秒前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐
测试19985 分钟前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
love_and_hope5 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen8 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)18 分钟前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
海阔天空_201334 分钟前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
零意@42 分钟前
ubuntu切换不同版本的python
windows·python·ubuntu
思忖小下1 小时前
Python基础学习_01
python
hong1616881 小时前
跨模态对齐与跨领域学习
学习
Elastic 中国社区官方博客1 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws