做题啦做题啦!!python
1. 请编写一个类 Int,该类有一个成员属性 num,一个成员方法 getSum(),该方法计算属性 num 各个数位上的数字之和,返回指定输出格式的字符串对象,如输入“123”,输出为:“123 的各个数位上的数字之和为 6”,还有一个构造方法__init__(),用来传入一个 3 位正整数,初始化成员属性 num。请编写代码实现类 Int 并进行调用。2. 如下代码生成一组学生的 Python 课程成绩,请编写函数 get_scores_info(scores),完成对 scores 列表中区间成绩的占比(百分比)的统计,并按照指定格式输出,输出格式形如:
3. 有如下内容:
#name,age,score tom,12,86
Lee,15,99
Lucy,11,58
Joseph,19,56
请编写代码完成以下功能:
1)将上述内容写入文件 e:\record.txt;
2)将文件中 score 低于 60 分记录的 name 输出;
3)计算文件中所有记录的 score 之和并输出。
# 1
class Int:
def __init__(self, num):
self.num = num
def getSum(self):
s = sum(map(int, self.num))
prompt = f"{self.num}的各个数位上的数字之和为{s}"
return prompt
if __name__ == "__main__":
i = Int("123")
print(i.getSum())
# 2
import random
scores =
def get_scores_info(scores):
p0_60 = len() / len(scores)
p60_80 = len() / len(scores)
p80_90 = len() / len(scores)
p90_100 = len() / len(scores)
kinds = ("")
nums = (p0_60, p60_80, p80_90, p90_100)
s_dict = dict(zip(kinds, nums))
for i in kinds:
print(f"{i}占比为{s_dict * 100}%")
if __name__ == "__main__":
get_scores_info(scores)
# 3
text = """name,age,score
tom,12,86
Lee,15,99
Lucy,11,58
Joseph,19,56"""
with open(r"e:\record.txt", "w", encoding="utf-8") as f:
f.write(text)
with open(r"e:\record.txt", "r", encoding="utf-8") as f:
data = f.read().splitlines()
sum_score = 0
for l in data:
r = l.split(",")
s = float(r[-1])
sum_score += s
if s < 60:
print(r)
print(sum_score)
页:
[1]