python 编程基础

1.对输入的成绩进行等级打分

题1:输入考试分数,自动得出考试等级
这段代码运行后具备交互能力:从使用者的输入中获得分数,代码自动运算并打印该分数对应的等级。

分数为整数,最低为 0,最高为 100。分数对应的等级为:

60 分及以下为 E
60 到 70 分(包含 70 分)为 D
70 到 80(包含 80 分)为 C
80 到 90(包含 90 分)为 B
90 分以上为 A
提示:

该需求分为三个部分:

从输入获取分数,使用input()方法。
分数对应的等级,实现方法有许多。其中 if 控制语句较适合新手。
运算得到分数对应的等级后,打印出来。

菜鸡版:


while True:
    score = int(input('请输入你的分数, 范围是0~100'))
    if score <= 60:
        print(f'你的分数是{score},等级为E')
    elif 60 < score  <= 70:
        print(f'你的分数是{score},等级为D')
    elif 70 < score  <= 80:
        print(f'你的分数是{score},等级为C')
    elif 80 < score  <= 90:
        print(f'你的分数是{score},等级为B')
    else:
        print(f'你的分数是{score},等级为A')

小小菜版:


def get_score():
    """
    从输入获取分数并验证是否合法,直至得到一个合法的分数。
    """

    flag = True
    while flag:
        score = input("输入分数,必须是 0 到 100 之间的整数\n>>>")
        try:
            score = int(score)
            if score >= 0 and score <= 100:
                flag = False
            else:
                print('分数超出范围,请重新输入')
        except:
            print('输入错误,请重新输入')
    return score

def get_level(score):
    """根据分数判断得分等级"""
    info = [
        (91,100,"A"),
        (81,90,"B"),
        (71,80,"C"),
        (61,70,"D"),
        (0,60,"E"),
    ]
    
    for i in info:
        if i[0] <= score <= i[1]:
            rlt = i[2]
            break
    print(f"分数 {score} 的评级是 {rlt}")
    return rlt
        
def main():
    score = get_score()
    get_level(score)
    
if __name__ == '__main__':
    main()

进阶版:

# 综合练习该题很棒
# 先整理出分数与等级的关系
levels = {
    'A': [91, 100],
    'B': [81, 90],
    'C': [71, 80],
    'D': [61, 70],
    'E': [0, 60]}
# 接收分数输入
scores = input('请输入分数,最低0分,最高100分,多个分数空格隔开>>').split()
for level, limit in levels.items():
    for score in scores:
        if limit[0]<=int(score)<=limit[1]:
            print(f'{score}{level}级')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大家好我是科林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值