python练习题
1.为了保护学生的个人信息安全,请定义一个姓名加密(有参)函数,实现以下功能:
若接收的姓名为非中文时,会触发Error,输出’必须输入中文姓名’。提示:中文字符的最小编码范围为u’\u4e00’,最大编码范围为u’\u9fff’。
若接收的姓名为中文时,执行以下操作进行姓名加密:若姓名为2个字,将第二个字符用替代;若姓名为3个字或3个字以上,将除姓和最后一个字符以外的字符用替代。
测试:当用户输入张三,则输出张*;当用户输入李小四,则输出李*四;当用户输入司马相如,则输出司**如。
当用户输入非中文姓名,则输出必须输入中文姓名。
def names(string):
try:
for i in string:
if i<u'\u4e00' or i>u'\u9fff':
raise
if len(string)==2:
print(string[0]+'*')
else:
print(string[0]+'*'+string[-1])
except:
print("必须输入中文姓名")
strings=input("请输入名字:")
names(strings)
2.学校的教务系统的将学生的用户名和密码存在possword.txt文件中:
possword.txt中的内容:
zhangsan,6666
lisi,7777
wangwu,8888
zhaoliu,9999
songqi,1111
请补充程序,实现读取文件,并对用户和密码进行查询、添加、删除、等操作。
程序中有如下功能选项:
用户查询功能:
用户添加功能
用户删除功能
查看全部用户及密码后,退出系统功能。
当用户输入1,输入用户姓名后,若用户存在,则显示密码;若用户不存在,显示用户不存在不能查询。
当用户输入2,输入用户姓名和密码后,若用户存在,显示用户已存在无法增加;若用户不存在,则将用户名和密码追加到相应的列表或字典中,并显示用户已增加。
当用户输入3,输入用户姓名后,若用户存在,则将用户名和密码删除,并显示用户已删除。若用户不存在,显示用户不存在不能删除。
当用户输入4,则显示全部用户名和密码信息,并退出循环
user=[]#定义一个空用户列表
pw=[]#定义一个空密码列表
with open("D:/possword.txt",'r',encoding="utf-8") as f1:#打开文件
for i in f1:#按行for遍历循环
i=i.strip('\n').split(',')#先去除前后换行符再根据逗号切分成列表
user.append(i[0])
pw.append(i[1])
while True:
print("请选择:1用户查询、2用户增加、3用户删除、4查看数据,退出系统")
x=int(input("请输入对应功能的序号:"))
if x==1:
yhm=input("请输入用户名")
if yhm in user:
i=user.index(yhm)
print(f'密码是:{pw[i]}')
else:
print("用户不存在")
elif x==2:
yhm=input("请输入用户名")
mm=input("请输入密码")
if yhm in user:
print("用户已经存在 无法增加")
else:
user.append(yhm)
pw.append(mm)
print("用户已增加")
elif x==3:
yhm=input("请输入用户名")
if yhm in user:
i=user.index(yhm)
user.remove(yhm)
pw.pop(i)
print("用户已删除")
else:
print("用户不存在 无法删除")
elif x==4:
print(user)
print(pw)
break;
3.某大学实行学分制学费收费方法:学分制学费分为理论教学学分学费和基础学年学费,理论教学学分学费实行统一的标准,均为70.86元/学分。基础学年学费为2500元。
学年正常修读课程学费=基础学年学费+所修总学分x70.86
小明第一学年需修读的课程及学分如下表所示:
①请用python计算并输出小明第一学年共修多少学分?输出格式为“本学年应修x个学分。”,输出结果保留两位小数。
②用户输入每学分应缴纳的学费,计算并输出第一学年应缴纳多少学费?输出格式为“本学年应缴纳的学费为y元。”,输出结果保留两位小数。
k1=3
k2=2
k3=3
k4=3
k5=1
k6=0.2
zxf=k1+k2+k3+k4+k5+k6
money=float(input())
moneys=zxf*money+2500
print(f'本学年应修{zxf:.2f}个学分。')
print(f'本学年应缴纳的学费为{moneys:.2f}元。')
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!