"数据录入功能的实现可以通过编写一个程序来完成。首先,读取B.TXT文件中的每一行数据,然后按照指定格式提取出学号、课程编号、课程名称、学分、平时成绩、实验成绩和卷面成绩这七个数据。接下来,根据实验成绩是否为-1,计算综合成绩和应得学分。最后,将学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩、综合成绩和应得学分这九个数据写入一个新的文件中。\n\n以下是一个示例的Python代码实现:\n\npython\ndef calculate_score(grade):\n if grade >= 90 and grade <= 100:\n return 1.0\n elif grade >= 80 and grade < 90:\n return 0.8\n elif grade >= 70 and grade < 80:\n return 0.75\n elif grade >= 60 and grade < 70:\n return 0.6\n else:\n return 0.0\n\ndef calculate_comprehensive_score(grade, experiment_grade):\n if experiment_grade == -1:\n return grade * 0.3 + grade * 0.7\n else:\n return grade * 0.15 + experiment_grade * 0.15 + grade * 0.7\n\nwith open('B.TXT', 'r') as file:\n lines = file.readlines()\n\ndata = []\nfor line in lines:\n student_id, course_id, course_name, credit, regular_grade, experiment_grade, final_grade = line.strip().split()\n comprehensive_score = calculate_comprehensive_score(float(regular_grade), float(experiment_grade))\n earned_credit = float(credit) * calculate_score(comprehensive_score)\n data.append([student_id, course_id, course_name, credit, regular_grade, experiment_grade, final_grade, comprehensive_score, earned_credit])\n\nwith open('new_file.txt', 'w') as file:\n for row in data:\n file.write('\t'.join(map(str, row)) + '\n')\n\n\n这段代码首先定义了两个函数calculate_scorecalculate_comprehensive_score,分别用于计算应得学分和综合成绩。然后,使用with open()语句打开B.TXT文件,并逐行读取其中的数据。每一行数据通过strip()方法去除空白字符,并使用split()方法按空格分隔成多个字段。接下来,根据实验成绩是否为-1,调用calculate_comprehensive_score函数计算综合成绩,并通过calculate_score函数计算应得学分。最后,将学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩、综合成绩和应得学分这九个数据写入一个新的文件new_file.txt中。\n


原文地址: https://www.cveoy.top/t/topic/pq3n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录