Python编程大题
前言
Python 编程大题
一、语法基础
题目:模拟一个简单的登录场景,具体要求如下。
1. 登录时给3次机会。
2. 如果成功,显示欢迎xxx。
3. 如果登录失败,显示录入错误你还有x次机会。如果3次机会使用完毕,则显示登录超限,请明天再登录。
register_username = 'admin'
register_password = '123456'
for i in range(0, 3):
input_username = input('请输入您的用户名:')
input_password = input('请输入您的密码:')
if (input_username == register_username) and (input_password == register_password):
print('欢迎%s登录' % input_username)
break
else:
if i == 2:
print('登录超限,请明天再登录!')
else:
print('登录失败,您还有%d次机会!' % (3 - i - 1))
else:
print('登录失败!')
二、函数
题目:编写函数,计算传入函数的字符串中,数字、字母、空格以及其他内容的个数,并返回。
def func4(s=''):
num_count = 0
letter_count = 0
blank_count = 0
other_count = 0
for c in s:
if c.isdigit():
num_count += 1
elif c == ' ':
blank_count += 1
elif c.isalpha():
letter_count += 1
else:
other_count += 1
return num_count, letter_count, blank_count, other_count
三、面向对象编程
题目:编写一个学生类, 要求有一个计数器的属性, 统计总共实例化了多少个学生。
class Student:
count = 0
@classmethod
def __init__(cls):
cls.count += 1
a1 = Student()
a2 = Student()
a3 = Student()
a4 = Student()
print(Student.count)
四、序列类型、集合和字典
题目: 某好友管理系统具有功能如下:
获取用户选择的菜单功能
利用列表,添加好友进行操作
定义好友列表firend_list
添加好友功能,输入好友名字,添加到好友列表
删除好友功能,输入好友的名字,将好友从列表中删除
备注好友功能,输入好友的名字,给好友修改名称
展示好友,打印输出好友列表
退出程序。
请编程实现以上功能。
print("1:添加好友\n"
"2:删除好友\n"
"3:展示好友\n"
"4:退出程序\n")
list1=[]
while True:
Option = int(input("请输入你的选项:"))
if Option == 1:
firend_list = {}
name = input("请输入添加好友的名字:")
firend_list["name"] = name
list1.append(firend_list)
print("添加成功!")
elif Option == 2:
name_1 = input("请输入要删除好友的名字:")
for i in list1:
if i["name"] == name_1:
list1.remove(i)
print("删除完成")
elif Option == 3:
for k in list1:
print(f'姓名:{k["name"]}')
elif Option == 4:
break
else:
print("你的输入有误!")
五、文件操作与异常
题目:将StudentInfo.csv中的信息以字典的形式存储在列表里。
[{‘学号’: ‘1445204009’, ‘姓名’: ‘王召’, ‘平时成绩’: ‘100’, ‘期末成绩’: ‘90’},
{‘学号’: ‘1445204013’, ‘姓名’: ‘林锦’, ‘平时成绩’: ‘95’, ‘期末成绩’: ‘67’}
…
]
lst = []
with open('StudentInfo.csv', mode='r', encoding='gbk') as f:
line = f.readline().strip()
title = line.split(',')
for line in f:
dic = {}
line = line.strip()
data = line.split(',')
for i in range(len(title)):
dic[title[i]] = data[i]
lst.append(dic)
print(lst)
六、数据库操作
题目:下图为某高学院学生成绩统计信息表,在Mysql数据库student中建立score表,表中字段名如下图所示,name表示姓名,major 表示专业,grade表示平均成绩。
注:Mysql的登录的用户名为root,密码为123,端口3306
name | major | score |
---|---|---|
陈晓 | 软件工程 | 92 |
李娜 | 软件工程 | 86 |
赵鹏 | 软件工程 | 69 |
1、将下图中数据存储于score表中
2、读取所有数据并打印输出
3、删除成绩小于70分的学生成绩信息
import pymysql
db=pymysql.connect(host='localhost',user='root',password='123',db='student',port=3306)
cursor= db.cursor()
sql=( "CREATE TABLE 'student'.'score' ( `name` VARCHAR(10) NOT NULL, 'major' VARCHAR(20) NULL,`score` INT NULL ")
cursor.execute(sql)
sql=" insert into score values (%s,%s,%s)"
params=[("陈晓","软件工程",92),("李娜","软件工程",86),("赵鹏","软件工程",69)]
cursor.execute(sql,params)
conn.commit()
sql_query = "select * from score"
cursor.execute(sql_query)
for i in range(cursor.rowcount):
result=cursor.fetchone()
print(result)
sql = "del from score where score<70"
cursor.execute(sql)
七、 数据可视化
题目:请利用matplotlib编写一个程序,该程序能在一行中并列显示两个子图:
(1)一个子图,用点线图绘制y=x*x的曲线图
(2)另一个子图为绘制产品销售量的分布柱状图,标题为“销售图”,数据如下表:
季度 | 销售量(吨) |
---|---|
第1季度 | 200 |
第2季度 | 300 |
第3季度 | 100 |
第4季度 | 500 |
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams["axes.unicode_minus"]=False
plt.subplot(121)
x = np.arange(0, 11, 0.1)
y = x*x
plt.plot(x, y, "b--")
plt.subplot(122)
x = [1,2,3,4]
y = [200,300,100,500]
plt.title("销售图")
plt.xticks(x,['第1季度','第2季度','第3季度','第4季度'])
plt.axis([0,5,0,600])
plt.bar(x, y,color='steelblue',align='center')
plt.show()
总结
这是python各章节的编程大题汇总