练习2

38 阅读3分钟

题目1:定义一个函数,判断一个数是否为奇数,并求1-100范围内奇数的和、积。

python
 体验AI代码助手
 代码解读
复制代码
sum = 0
prod = 0
for item in range(1,101):
    if item %2 != 0:
        sum += item
        prod *= item
print("1-100范围内奇数的和:",sum)
print("1-100范围内奇数的积:",prod)

题目2:求解100-1000数字内所有的水仙花数

若一个三位数每一位数字的3次幂之和都等于它本身,则这个三位数是水仙花数。例如153是水仙花数,各位数字的立方和为13 + 53+ 33 = 153。

python
 体验AI代码助手
 代码解读
复制代码
for item in range(100,1001):
    num_str = str(item)
    for cjar in num_str:
        sum = 0 # 记录总和
    for char in num_str:
        sum += int(char)**3
    if sum == item:
        print(item,end=" ")
print()

题目3:创建一个包含100个随机数的数组,数组值范围为[0,100],将这些数输出;计算这些数中能被2整除但不能被4整除的数的和,并输出结果。

python
 体验AI代码助手
 代码解读
复制代码
import random
nums = [random.randint(0,100) for i in range(100)]
print("100个随机数的",nums)
sum = 0
for i in nums:
    if i % 2 == 0 and i % 4 != 0:
        sum += i
print("这些数中能被2整除但不能被4整除的数:",sum)

题目4:某旅游公司收集了一个月内的多个景点的游客数据。每个景点每天的游客数量以及门票收入已经被记录下来。利用 Pandas 进行数据分析和处理。

任务要求如下:

1.使用pandas模块读取表格数据到dataframe对象中

python
 体验AI代码助手
 代码解读
复制代码
import pandas as pd
data = pd.read_csv("景点数据.csv",header=0,encoding="gbk")
print(data)

2.计算每个景点的总游客数量和总门票收入。(提示:使用 groupby 方法)

python
 体验AI代码助手
 代码解读
复制代码
total = data.groupby("景点名称").agg(总游客数量=("游客数量","sum"),平均每日门票收入=())
print(total)

3.计算每个景点的平均每日游客数量和平均每日收入。(提示:使用 mean 方法)

python
 体验AI代码助手
 代码解读
复制代码
avg = data.groupby('景点名称').agg(平均每日游客数量=("游客数量","mean"),平均每日门票收入=("门票收入","mean"))
print(avg)

4.添加一列,显示每个记录的单个游客的平均消费(门票收入 / 游客数量)。

python
 体验AI代码助手
 代码解读
复制代码
data['平均消费'] = data['门票收入'] / data['游客数量']
print(data)

5.筛选出平均每日游客数量超过 150 的景点。

python
 体验AI代码助手
 代码解读
复制代码
ls = avg[avg['游客数量'] > 150]['景点名称'].tolist()
print(ls)

6.将处理后的 DataFrame 保存为新的 CSV 文件,文件名为“景点游客数据分析.csv”,保存时去除索引。

python
 体验AI代码助手
 代码解读
复制代码
data.to_csv(
    "景点游客数据分析.csv",
    encoding="utf-8"
)

7.使用matplotlib画出各个景点每日游客数量的折线图。

python
 体验AI代码助手
 代码解读
复制代码
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 黑体
avg['平均每日游客数量'].plot()
plt.show()