一,回文数判断续
题目:输入一个五位数,使用字符串索引的方法判断是不是回文数
上一次练习中,我们使用取余,地板除等操作,判断一个数是不是回文数,略显麻烦。当我们学过序列的索引和遍历之后,利用这两点,我们就可以很容易实现这个操作。
思路:使用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是一个回文数
程序:
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数据类型不可以索引。上述索引是字符串类型。
二,你是这个班级的么
题目:新学期开课了,现在请开发一个简易系统,当学生输入姓名和班级的时候,班主任根据已有的分班花名册把他分到相应的班级。
思路:首先,我们考虑使用什么样的数据结构来存储学生名单。米一个学生对应一个班级,一个班级可以有多个学生。这种对应关系的数据我们可以选择字典来存储。班级是唯一的,我们可以用来当作键,字典的值就是每个班级对应的学生姓名。
程序:
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))
结果:
原来的班级字典是:{'一班': [], '二班': [], '三班': [], '四班': [], '五班': []}
请输入你的名字:李雷
请输入的班级:二班
现在的班级列表是:{'一班': [], '二班': ['李雷'], '三班': [], '四班': [], '五班': []}
升级:可以实现添加多个姓名和班级
程序:
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
现在的班级例表是:{'一班': ['赵四'], '二班': ['张三'], '三班': [], '四班': []}
三,宿管的工作
题目:请开发一个宿舍管理系统,现在有一个学生性别的字典
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
学生的成绩单为:{'小明': '合格', '小红': '优秀', '小花': '不合格'}
升级:当成绩大于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
小红的成绩是:优秀
小雅的成绩是:不合格
小军的成绩是:不合格
小明的成绩是:良好
五,毕业生
请开发一个招聘系统,优先挑选电子科技大学毕业的学生,并根据学生姓名直接查询该生成绩,若成绩优秀,则直接录用。
程序:
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]))
结果:
张三毕业于电子科技大学,但等级为:合格,仍需要努力
韩梅梅毕业于电子科技大学,等级为:优秀,直接录用
李雷毕业于电子科技大学,等级为:优秀,直接录用