Python 程序控制流程综合编程题目(不含浮点数运算)
·
## 题目1:图书借阅管理系统
### 题目描述
某图书馆需要一个简单的借阅管理系统,规则如下:
1. 图书可借阅天数根据图书类型不同:
- 普通书籍:14天
- 杂志:7天
- 参考书:3天
- 稀有书籍:不可外借
2. 读者等级决定可同时借阅的最大数量:
- 普通读者:最多3本
- 学生读者:最多5本
- 教师读者:最多10本
3. 程序功能:
- 接收用户输入的读者等级(普通读者/学生读者/教师读者)
- 接收用户想要借阅的图书类型及数量
- 检查是否符合借阅规则(类型是否可借、数量是否超限)
- 输出借阅结果:可借阅的图书类型、可借天数、是否超限等信息
- 对输入进行合法性校验(必须从指定选项中选择)
### 考点
- 多条件分支判断
- 输入合法性校验
- 逻辑运算符综合应用
- 分支嵌套结构


print("请选择要借阅的书籍:\n1.普通书籍\n2.杂志\n3.参考书\n4.稀有书籍\n")
choice=input('选择借阅的书籍')
b=int(input("借阅天数"))
if choice in ['1', '2', '3', '4']:
if choice =='1':
if b<14:
print("下一步")
else:print('超出时间限制')
elif choice=="2":
if b<7:
print("下一步")
else: print('超出时间限制')
elif choice=="3":
if b<3:
print("下一步")
else: print('超出时间限制')
elif choice=="4":
print("不可外接")
else:
print("错误,请输入1-4")
print("您的身份:\n5.普通读者\n6.学生读者\n7.教师读者\n")
choice=input('您的身份')
a=int(input("借阅的数量"))
if choice in ['5', '6', '7', ]:
if choice =='5':
if a<3:
print("成功")
else:print('你的权限不够')
if choice=="6":
if a<5:
print("成功")
else:print('你的权限不够')
if choice=="7":
if a<7:
print("成功")
else:print('你的权限不够')
else:
print("错误,请输入5-6")
第一次做这个,没有合理运营终止符号,导致就算输入非正确选项,也会导致程序继续进行,虽然说不会影响结果,但显得比较杂乱。
## 题目2:学生成绩等级评定系统
### 题目描述
实现一个学生成绩等级评定系统,规则如下:
1. 成绩为0-100之间的整数
2. 等级评定标准:
- 90-100分:优秀
- 80-89分:良好
- 70-79分:中等
- 60-69分:及格
- 0-59分:不及格
3. 额外规则:
- 若为班干部,在原等级基础上可提升一个等级(优秀不变)
- 若有迟到记录(超过3次),在原等级基础上降低一个等级(不及格不变)
4. 程序功能:
- 接收用户输入的成绩(整数)、是否班干部(是/否)、迟到次数(整数)
- 校验输入合法性(成绩在0-100之间,迟到次数非负)
- 计算最终等级并输出
- 循环处理多个学生的成绩评定,直到用户选择退出
先将成绩进行划分

在 成绩的基础上,再将班干部作为改变
最后收尾
score = int(input("成绩(0-100): "))
cadre = input("是否班干部(是/否): ")
late = int(input("迟到次数: "))
if score >= 90:
grade = "优秀"
elif score >= 80:
grade = "良好"
elif score >= 70:
grade = "中等"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
if cadre == "是":
if grade == "良好":
grade = "优秀"
elif grade == "中等":
grade = "良好"
elif grade == "及格":
grade = "中等"
elif grade == "不及格":
grade = "及格"
if late > 3:
if grade == "优秀":
grade = "良好"
elif grade == "良好":
grade = "中等"
elif grade == "中等":
grade = "及格"
elif grade == "及格":
grade = "不及格"
print(f"\n最终等级: {grade}")
## 题目3:数字密码锁模拟
### 题目描述
模拟一个数字密码锁的工作过程,规则如下:
1. 初始密码为四位数:1234
2. 用户有3次输入密码的机会
3. 每次输入后:
- 若密码正确,提示"密码正确,锁已打开"并结束程序
- 若密码错误,提示"密码错误,剩余X次机会"
- 若输入的不是四位数,提示"请输入四位数密码",不消耗尝试次数
4. 额外功能:
- 连续输错3次后,提示"密码错误次数过多,锁已锁定"
- 锁定后询问是否重置(y/n),输入y则重新获得3次机会,输入n则退出程序
### 考点
- 循环结构与次数控制
- 条件判断与分支
- 字符串长度判断
- 循环中断与继续
- 程序状态控制

code="6666"
count=3
while count>0:
user_input = input(f"请输入密码(剩余{count}次): ")
if len(user_input)!=4:
print("请输4位数字")
continue
if user_input == code:
print("开锁成功!")
break
else:
count -= 1
if count==0:
choice = input("锁定,重置?(y/n): ")
if choice == 'y':
chances = 3
print("已重置,重新开始")
else:
print("再见")
break
## 题目4:整数序列分析工具
### 题目描述
实现一个整数序列分析工具,功能如下:
1. 接收用户输入的10个整数(范围-100到100)
2. 对输入的整数序列进行分析:
- 统计正数、负数和零的个数
- 找出序列中的最大值和最小值
- 计算所有整数的总和
- 统计能被3整除的数的个数
3. 输入校验:
- 确保输入的是整数
- 确保整数在-100到100范围内
- 输入不合法时提示错误并重新输入当前数字
4. 输出所有统计结果
### 考点
- 循环结构与计数
- 条件判断与分支
- 列表的创建与遍历
- 输入校验与异常处理
- 累加器与计数器的使用
先确保,输入的数字符合规矩

再根据各个要求,一个一个划分表
## 题目5:简易日历查询
### 题目描述
实现一个简易日历查询功能,规则如下:
1. 假设2024年1月1日是星期一
2. 已知各月天数:
- 1,3,5,7,8,10,12月:31天
- 4,6,9,11月:30天
- 2月:29天(2024是闰年)
3. 程序功能:
- 接收用户输入的月份(1-12)和日期(1-当月最大天数)
- 计算并输出该日期是星期几(星期一到星期日)
- 校验输入合法性(月份范围1-12,日期不超过当月最大天数)
- 允许用户多次查询,直到选择退出
### 考点
- 多分支条件判断
- 累加计算
- 输入合法性校验
- 循环结构与用户交互
- 数据映射(月份到天数)
我觉得这个板块的内容,容易混,很容易导入匹配到错误的单位上
更多推荐

所有评论(0)