一个简单的Python程序,输入成绩,输出成绩等级
学为先编程
2024年04月29日 18:30

代码块
JavaScript
自动换行
复制代码
成绩等级:
编写一段代码,要求如下:
1、程序开始运行后,需要用户输入学生的成绩(成绩为正整数)
2、一次输入一个学生的成绩,学生成绩是从0到100;
3、根据用户输入的成绩,程序依据等级标准,输出相应的等级。
4、等级标准是成绩小于60为不及格,60(含)到85(不含)之间为良,85(含)以上为优。
5、可以重复输入成绩进行查询。
复制成功

一、使用函数

下面是一个简单的Python代码,满足您的要求:

代码块
JavaScript
自动换行
复制代码
def get_grade_level(score):  
    if score < 60:  
        return "不及格"  
    elif 60 <= score < 85:  
        return "良"  
    else:  
        return "优"  
  
while True:  
    try:  
        score = int(input("请输入学生的成绩(0-100):"))  
        if not 0 <= score <= 100:  
            print("成绩输入错误,请输入0到100之间的正整数。")  
            continue  
        grade_level = get_grade_level(score)  
        print(f"学生的成绩等级为:{grade_level}")  
    except ValueError:  
        print("输入的不是有效的整数,请重新输入。")  
      
    # 询问用户是否继续输入  
    continue_input = input("是否继续输入其他学生的成绩?(y/n)")  
    if continue_input.lower() != 'y':  
        break
复制成功

这段代码首先定义了一个函数get_grade_level,它接受一个分数作为参数,并返回相应的等级。然后,程序进入一个无限循环,在这个循环中,它提示用户输入一个成绩,检查输入是否有效(是否为0到100之间的整数),并根据成绩输出等级。

每次查询完一个成绩后,程序会询问用户是否继续输入其他学生的成绩。如果用户输入的不是y(不区分大小写),则退出循环,程序结束。

注意,这里使用了try-except语句来处理可能出现的异常,比如用户输入的不是整数时,int(input())会抛出ValueError异常。

二、不使用函数

如果您不希望使用函数,可以直接在循环中编写等级判断的逻辑。以下是一个简化版的Python代码,不包含函数:

代码块
JavaScript
自动换行
复制代码
while True:  
    try:  
        score = int(input("请输入学生的成绩(0-100):"))  
        if not 0 <= score <= 100:  
            print("成绩输入错误,请输入0到100之间的正整数。")  
            continue  
          
        if score < 60:  
            grade_level = "不及格"  
        elif score < 85:  
            grade_level = "良"  
        else:  
            grade_level = "优"  
          
        print(f"学生的成绩等级为:{grade_level}")  
    except ValueError:  
        print("输入的不是有效的整数,请重新输入。")  
      
    # 询问用户是否继续输入  
    continue_input = input("是否继续输入其他学生的成绩?(y/n)")  
    if continue_input.lower() != 'y':  
        break
复制成功

在这个版本中,我们没有定义任何函数,而是直接在while循环中完成了所有操作。用户输入成绩后,程序会检查成绩是否在有效范围内,并根据成绩直接判断等级。然后,程序会输出等级,并询问用户是否继续输入其他学生的成绩。如果用户输入的不是y,程序就会退出循环。