Python编程大题

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

namemajorscore
陈晓软件工程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各章节的编程大题汇总

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值