python基础练习10

本文介绍了两个Python编程练习:一是通过递归计算坐在一排的第五个学生年龄;二是设计一个学生成绩管理系统,包含计算总分、平均分、排名及按学号查询等功能。要求包括学号验证、菜单交互和数据文件存储。参考代码分别给出。
摘要由CSDN通过智能技术生成

编程

1.有五个学⽣坐在⼀起,问第五个⼈多少岁?答,⽐第四个⼤2岁,第四个⼈说它⽐第三个⼈⼤2岁,,…第⼀个⼈说他10岁。请写⼀个递归函数计算第5个学⽣多少岁(递归实现)

2.某班期末考试科⽬为数学和计算机,有最多不超过30⼈参加考试。学⽣的信息包括学号、姓名。考试后要求:(1)计算每个学⽣的总分和平均分;(2)按总分成绩由⾼到低排出成绩的名次;(3)打印出名次表,表格内包括学⽣姓名、学号、各科分数、总分和平均分;(4)任意输⼊⼀个学号,能够查找出该学⽣在班级中的排名及其考试分数
编写要求:(1)要对⽤户输⼊进⾏验证,如果输⼊的不是0-4显示错误,然后继续输⼊(2)要能够连续不断的进⾏选择(3)每⼀项功能都要封装函数完成,函数单独放到⼀个模块中
(4)菜单及其⽤户选择的处理放到主模块中。
(5)学⽣数据保存到⽂件
如图,

在这里插入图片描述
在这里插入图片描述

参考答案

1.代码如下,

def age(n):
    if n == 1:
        return 10
    return age(n - 1) + 2

2.代码如下,
主模块

import package_answer.exitScore as pes
import package_answer.inputData as pi
import package_answer.examineData as ped
import package_answer.sortScore as ps
import package_answer.searchData as psd

def showwindow():
    firstJudge = True
    datalist = []

    print("""******欢迎使⽤成绩管理系统********
[1]学⽣信息输⼊
[2]学⽣信息输出
[3]查找学⽣信息
[4]成绩排序
[0]退出
********************************
    """)

    while True:
        if firstJudge == True:
            choice = eval(input("请输⼊你的选择:"))
            firstJudge = False
        else:
            print("................")
            choice = eval(input("请重新输⼊您的选择(0~4):"))

        if choice == 0:
            pes.exitscore(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值