Cria 发表于 2021-12-28 15:20:05

做题啦做题啦!!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 之和并输出。

qq1151985918 发表于 2021-12-28 15:20:06

# 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]
查看完整版本: 做题啦做题啦!!python