题目:

  1. f(x) :x以内的奇数和
  2. g(x):能被11或7整除的 x 的 f(x)和
  3. 绘图:100以内的 x, f(x), g(x) 的折线图
def f(x):
    sum = 0
    for i in range(0, x+1):
        if i % 2 == 1:
            sum = sum + i
        else:
            continue
    return sum

def g(x):
    sum = 0
    for i in range(1, x+1):
        if i % 11 == 0 or i % 7 == 0:
            sum = sum + f(i)
    return sum


# 存储数据
import csv

with open('a2.csv', 'w', encoding='utf-8', newline='') as fp:
    writer = csv.writer(fp)
    writer.writerow(['a', 'f(a)', 'g(a)'])
    for i in range(1, 101):
        lis = []
        if i % 11 == 0 or i % 7 == 0:
            lis.append(i)
            lis.append(f(i))
            lis.append(g(i))
            writer.writerow(lis)

# 绘图
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('a2.csv')
# print(data)
plt.figure(figsize=(10, 10))
plt.plot(data['a'], data['f(a)'], color='red', label='f(a)', marker='+')
plt.plot(data['a'], data['g(a)'], color='blue', label='g(a)', marker='*')
plt.xlabel('a')
plt.legend()
plt.savefig('the_fitst.png')
plt.show()

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐