python系统-Python(第八课,简单开发系统)

一,回文数判断续

题目:输入一个五位数,使用字符串索引的方法判断是不是回文数

上一次练习中,我们使用取余,地板除等操作,判断一个数是不是回文数,略显麻烦。当我们学过序列的索引和遍历之后,利用这两点,我们就可以很容易实现这个操作。

思路:使用input()函数输入一个数,如果他的长度不是5,则提醒用户重新输入;如果是5,则判断第一个和第五个元素以及第二个和第四个元素是否相同,从而判断其是否为回文数。

程序:

number=input("请输入一个五位数:")

while True:

if len(number)!=5:

number=input("您输入的不是一个五位数,请重新输入:")

elif number[0]==number[4]  and number[1]==number[3]:

print("{}是一个回文数".format(number))

break

else:

print("{}不是一个回文数".format(number))

break

结果:

请输入一个五位数:123456

您输入的不是一个五位数,请重新输入:12321

12321是一个回文数71bf2cd56882a2e97f8b3477c9256f8b09f361d3.png

程序:

while True:

number = input("请输入一个五位数字:")

if len(number)!=5:

print("您输入的不是一个五位数,请重新输入。")

elif number[0] == number[4] and number[1] == number[3]:

print("{}是一个回文数。" .format(number))

break

else:

print("{}不是一个回文数。" .format(number))

break

结果:

请输入一个五位数字:123456

您输入的不是一个五位数,请重新输入。

请输入一个五位数字:12345

12345不是一个回文数。

注意:int数据类型不可以索引。上述索引是字符串类型。02db465212d3c374a43c60fa2625cc1caeaab796.png

二,你是这个班级的么

题目:新学期开课了,现在请开发一个简易系统,当学生输入姓名和班级的时候,班主任根据已有的分班花名册把他分到相应的班级。

思路:首先,我们考虑使用什么样的数据结构来存储学生名单。米一个学生对应一个班级,一个班级可以有多个学生。这种对应关系的数据我们可以选择字典来存储。班级是唯一的,我们可以用来当作键,字典的值就是每个班级对应的学生姓名。

程序:

class_list=["一班","二班","三班","四班","五班"]

class_student={}

#   用c对class_list进行遍历,设置每个键值对的值为空列表。

for c in class_list:

class_student[c]=[]    # 这是字典的赋值操作,为字典添加键值对的值,这个值是空列表。

print("原来的班级字典是:{}".format(class_student))

your_name=input("请输入你的名字:")

your_class=input("请输入的班级:")

class_student[your_class].append(your_name)       #class_student[your_class]表示键为your_class的键值对的值,值初始值是一个空列表,所以下面append是列表的增添操作

print("现在的班级列表是:{}".format(class_student))

结果:

原来的班级字典是:{'一班': [], '二班': [], '三班': [], '四班': [], '五班': []}

请输入你的名字:李雷

请输入的班级:二班

现在的班级列表是:{'一班': [], '二班': ['李雷'], '三班': [], '四班': [], '五班': []}4aa545dccf7de8d4a93c2b2b8e3265ac0a26d216.png

升级:可以实现添加多个姓名和班级

程序:

class_list=["一班","二班","三班","四班"]

class_student={}

for c in class_list:

class_student[c]=[]

while True:

your_name=input("请输入你的名字(输入q就退出):")

if your_name=="q":

print("现在的班级例表是:{}".format(class_student))

break

your_class=input("请输入你的班级:")

class_student[your_class].append(your_name)

结果:

请输入你的名字(输入q就退出):张三

请输入你的班级:二班

请输入你的名字(输入q就退出):赵四

请输入你的班级:一班

请输入你的名字(输入q就退出):q

现在的班级例表是:{'一班': ['赵四'], '二班': ['张三'], '三班': [], '四班': []}02db465212d3c374a43c60fa2625cc1caeaab796.png

三,宿管的工作

题目:请开发一个宿舍管理系统,现在有一个学生性别的字典

student_sex = {"张三": "男", "王芳": "女", "李四": "男", "王五": "男", "李雷": "男", "韩梅梅": "女"}根据性别分配宿舍。

思路:首先确定两个宿舍列表,一个是男生宿舍,一个是女生宿舍。然后根据学生的性别,把学生分配到哪个宿舍。

程序:

student_sex = {"张三": "男", "王芳": "女", "李四": "男", "王五": "男", "李雷": "男", "韩梅梅": "女"}

male_list = []

female_list = []

# 用s遍历字典student_sex,s是遍历的键。

for s in student_sex:

if student_sex[s]=="男":      #  如果s这个键的值是“男”

male_list.append(s)        #  在男生列表中添加s这个键

if  student_sex[s]=="女":

female_list.append(s)

print("男生宿舍名单是:{}" .format(male_list))

print("女生宿舍名单是:{}" .format(female_list))

结果:

男生宿舍名单是:['张三', '李四', '王五', '李雷']

女生宿舍名单是:['王芳', '韩梅梅']

四,录入考试成绩

题目:请开发一个系统,帮助录入成绩。要求:根据成绩判断是优秀(90分以上),良好(80-90),合格(60-80),不合格(60以下),使用一个字典存储学生评级。

思路:和班级录入系统一样,我们先设定一个循环,用来输入学生的姓名和成绩;然后我们把成绩转化成整数并按照规则进行判断。

程序:

student_score={}

# while True 表示循环会一直执行,直到出现break,才中止。

while True:

your_name=input("请输入你的名字(输入q退出):")

if your_name=="q":

break

your_score=int(input("请输入你的成绩:"))

if your_score>=90:

rating="优秀"

elif 80<=your_score<90:

rating="良好"

elif 60<=your_score<80:

rating="合格"

else:

rating="不合格"

student_score[your_name]=rating       #  对字典的键进行赋值的操作

print("学生的成绩单为:{}".format(student_score))

结果:

请输入你的名字(输入q退出):小明

请输入你的成绩:78

请输入你的名字(输入q退出):小红

请输入你的成绩:99

请输入你的名字(输入q退出):小花

请输入你的成绩:33

请输入你的名字(输入q退出):q

学生的成绩单为:{'小明': '合格', '小红': '优秀', '小花': '不合格'}71bf2cd56882a2e97f8b3477c9256f8b09f361d3.png

升级:当成绩大于100或者小于0的时候,输入错误,重新输入。另一方面,最后要求格式化输出。

student_score={}

while True:

your_name=input("请输入你的名字(输入q退出):")

if your_name=="q":

break

while True:

your_score=int(input("请输入你的成绩:"))

if your_score<0  or  your_score>100:

print("输入错误,请重新输入.")

else:

break

if your_score>=90:

rating="优秀"

elif 80<=your_score<90:

rating="良好"

elif 60<=your_score<80:

rating="合格"

else:

rating="不合格"

student_score[your_name]=rating

for key,value in student_score.items():

print("{}的成绩是:{}".format(key,value))

结果:

请输入你的名字(输入q退出):小红

请输入你的成绩:98

请输入你的名字(输入q退出):小雅

请输入你的成绩:101

输入错误,请重新输入.

请输入你的成绩:10

请输入你的名字(输入q退出):小军

请输入你的成绩:56

请输入你的名字(输入q退出):小明

请输入你的成绩:89

请输入你的名字(输入q退出):q

小红的成绩是:优秀

小雅的成绩是:不合格

小军的成绩是:不合格

小明的成绩是:良好02db465212d3c374a43c60fa2625cc1caeaab796.png

五,毕业生

请开发一个招聘系统,优先挑选电子科技大学毕业的学生,并根据学生姓名直接查询该生成绩,若成绩优秀,则直接录用。

程序:

student_rating = {'张三': '合格', '李四': '优秀', '王五': '优秀', '韩梅梅': '优秀', '李雷': '优秀'}

candidate_dict = {"张三":"电子科技大学", "王二麻子":"清华大学", "Tom": "哈佛大学", "Jerry": "剑桥大学", "韩梅梅":"电子科技大学", "李雷":"电子科技大学"}

for s in candidate_dict:

if candidate_dict[s]=="电子科技大学":

if student_rating[s]=="优秀":

print("{}毕业于电子科技大学,等级为:{},直接录用".format(s,student_rating[s]))

else:

print("{}毕业于电子科技大学,但等级为:{},仍需要努力".format(s,student_rating[s]))

结果:

张三毕业于电子科技大学,但等级为:合格,仍需要努力

韩梅梅毕业于电子科技大学,等级为:优秀,直接录用

李雷毕业于电子科技大学,等级为:优秀,直接录用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值