python test1

98 阅读3分钟

一. 编写一个程序 判断一个年份是否为闰年

#题目1:编写一个程序,判断一个年份是否为闰年。
def isRun(year):
    if (year % 4 == 0 and year % 100 != 0 ) or year % 400 == 0:
        return True
    else:
        return False
#测试用例
year = int(input("输入一个年份:"))
if isRun(year):
    print(year,"是闰年")
else:
    print(year,"不是闰年")

二. 将一个整数进行因式分解 打印出所有质因数 比如:90=233*5

#题目2:将一个整数进行因式分解,打印出所有质因数。比如:90=2*3*3*5
def fun(num):
    res = []
    i = 2
    while i**2 <= num:
        if num % i != 0:
            i += 1
        else:
            num //= i
            res.append(i)
    if num != 1:
        res.append(num)
    return res
# 测试用例
num = int(input("输入一个整数: "))
res = fun(num)
print(res)

三. 给定一个包含学生成绩信息的 CSV 文件“学生成绩.csv” 文件中有学生姓名 数学成绩 语文成绩 英语成绩等字段

#题目3:给定一个包含学生成绩信息的 CSV 文件“学生成绩.csv”,文件中有学生姓名、数学成绩、语文成绩、英语成绩等字段。
#请使用 Python 的numpy和matplotlib库完成以下任务:
import numpy as np
import matplotlib.pyplot as plt

#1、读取 CSV 文件中的数据。(提示:使用loadtxt函数)
data = np.loadtxt(
    "学生成绩.csv",
    skiprows=1,
    usecols=(1,2,3),
    delimiter=",",
    encoding="gbk",
    dtype=np.int64
)
print(data)

#2、计算每位学生的平均成绩。(提示:使用mean函数 axis)
print("每位学生的平均成绩:\n",np.mean(data,axis=1))

#3、统计每门课程的最大值、最小值、中位数、方差和峰值范围。(提示:使用max、min、median、var、ptp函数)
print("每门课程的最大值为:\n",np.max(data,axis=0))
print("每门课程的最小值为:\n",np.min(data,axis=0))
print("每门课程的中位数为:\n",np.median(data,axis=0))
print("每门课程的方差为:\n",np.var(data,axis=0))
print("每门课程的峰值范围为:\n",np.ptp(data,axis=0))

#4、使用柱状图可视化展示每位学生的平均成绩。(提示:使用matplotlib.pyplot.bar函数)
avg = np.mean(data,axis = 1)
x = np.arange(1,avg.size + 1)
plt.bar(x,avg)
plt.show()

四. 有一个销售数据的 CSV 文件“销售产品数据.csv” 包含字段 “日期” “产品名称” “销售数量” “销售单价”

#题目4:有一个销售数据的 CSV 文件“销售产品数据.csv”,包含字段 “日期”、“产品名称”、“销售数量”、“销售单价”。
#请使用 Python 的pandas和matplotlib库完成以下任务:
import pandas as pd

#1、读取 CSV 文件中的数据。
df = pd.read_csv(
    "销售产品数据.csv",
    header=0,
    encoding="gbk"
)
print(df)

#2、计算每种产品的总销售额(销售数量乘以销售单价)。
df['总销售额']=df['销售数量']*df['销售单价']
print(df)
total = df.groupby("产品名称")['总销售额'].sum()
total = total.reset_index()
print(total)

#3、找出销售额最高的产品。
print("销售额最高的产品:",total.idxmax())

#4、按月份统计总销售额,并绘制折线图展示每月总销售额的变化趋势。
df['日期'] = pd.to_datetime(df['日期'])
print(df['日期'].dtype)
df['月份'] = df['日期'].dt.month
print(df)