python——录入学生基本信息、打印成一张表、生成等级并计算各等级的比率

python——录入学生基本信息、打印成一张表、生成等级并计算各等级的比率


在写本系统时,我首先就想到用列表来储存数据,,用input输入数据,,

至于怎么生成等级我只是知道我应该用if判定条件来实现,,

于是就开始写代码。

一开始从最核心的输入input开始,但要输入很多,数目又没有规定,那我想到的是定义一个变量来实现

循环,不过问题来了,怎么才能使这个数是我输入数据条数的大小呢?我并没有想到很好的办法(大神知道一定告知)

,,后来想到了死循环,原来死循环可以这么用,,原谅我代码敲得少,我没有用过!!

于是就有了以下退出方法:

a=input("输入q退出!任意键继续!!")
if a.lower()=='q':
    print("已退出输入!!")
    break

输入搞定

接下来也是我比较头疼的——如何让列表能正确循环打印出输入的一条条数据

如何生成等级自然不是问题,给予每个阶段的数据一个字符变量即可。那么列表的循环索引是第一个数据

然而跳转数为3(因为输入学生信息有三个字段,)如何退出呢?

思来想去就只能定义一个无关变量了

于是就有了

//I的启始值为0
i=i+3
if i>=len(line_all):  //当I的值等于列表line_all的长度时终止循环
    break

综合下来本系统用到

1、输入输出语句

2、列表

3、进入和退出系统

4、 if条件语句

5、while循环语句

6、break和continue语句

完整代码如下:

print("----成绩评等系统----")
start=input("输入s开始录入信息:")
if start.lower() == 's':
    print("请输入0-100之间的数")
    line = []
    line_all = []
    num_all = 0
    while 1:
        num = input("请输入学号:")
        name = input("请输入姓名:")
        score = input("请输入分数:")
        score = int(score)
        if score > 100 or score < 0 :
            print("嘿!兄弟,你走心了!!请重新输入正确分数,,")
            continue
        num_all = num_all+1
        line = [num, name, score]
        line_all = line_all+line
        a=input("输入q退出!任意键继续!!")
        if a.lower()=='q':
            print("已退出输入!!")
            break
print(line_all)
y=-2
n=2
m = -3
s = ''
i=0
e = d = c = b = a = 0
while 1:
    score = int(line_all[n])
    if score<60:
        s = 'E'
        e = e+1
    elif score<70:
        s = 'D'
        d = d + 1
    elif score < 80:
        s = 'C'
        c = c+1
    elif score < 90:
        s = 'B'
        b = b+1
    else:
        s = 'A'
        a = a+1
    m = m + 3
    y = y + 3
    print("学号:"+line_all[m]+"   "+"姓名:"+line_all[y]+"   "+"等级:"+s)
    n=n+3
    i=i+3
    if i>=len(line_all):
        break

print("A等占比:",a/num_all)
print("B等占比:",b/num_all)
print("C等占比:",c/num_all)
print("D等占比:",d/num_all)
print("E等占比:",e/num_all)

信息录入:

生成学生表及各等级占比:

 over!!!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值