1.统计一周内的体重变化量。
假设你每天都会记录自己的体重,现在需要统计过去一周内的体重变化情况。请你编写一个程序,输入连续7天的体重数据(每行一个体重数值),输出过去一周内的体重变化量。
示例输入:
70.5
71.2
69.8
70.1
69.9
70.3
70.0
示例输出:
-0.5
n = []
sA = 0
for i in range(7):
n.append(float(input()))
for i in range(6):
s = n[i + 1] - n[i]
sA += s
print(sA)
2.键盘输入1个数字,反序输出,结果保留原来的正负性,前导0符合日常用法。
# -*- coding: UTF-8 -*-
def reverse_number(num):
num_str = str(num) # 先将数字转换为字符串
if num_str[0] == '-': # 判断是否为负数
reverse_str = '-' + num_str[:0:-1] # 如果是负数,保留负号,对数字部分进行逆序切片
else:
reverse_str = num_str[::-1] # 如果是正数,直接对整个字符串进行逆序切片
reverse_num = float(reverse_str) # 将逆序后的字符串转换为数字
return reverse_num
while True:
num = input("请输入一个数字:")
num_str = reverse_number(num)
print(num_str)
if num == "q":
break
3.某学校食堂午餐提供了4种套餐,首先将套餐名称显示在屏幕上,然后由学生自由选择,假设有n个学生做出了选择,由程序产生n个随机数模拟n个学生的点餐情况,然后统计各套餐的销售情况,并显示出当日人气最高的套餐(如果有销量相同则显示编号小的套餐)及销量占比(保留2位小数),同时将销量情况和人气套餐情况保存到“lunch.txt”文件中,文件格式如图所示。保存程序文件为“diancan.py”。
运行示例(具体销量随机产生,实际运行时将与下图有所差别):
参考评分标准:
- 数据初始化
- 文件打开,关闭
- 读数据
- 数据处理
- 排序
- 数据输出
- 数据输出格式
1. 创建一个包含4种套餐名称的列表:['套餐A', '套餐B', '套餐C', '套餐D']。
2. 使用with语句打开文件“lunch.txt”,并在数据处理完毕后自动关闭文件。
3. 使用readlines()方法读取文件中的数据。
4. 使用字典来统计每种套餐的销售情况,键为套餐名称,值为销量。
5. 使用sorted()函数对字典按值进行排序,得到销量从高到低的套餐排序列表。
6. 输出销售情况和当日最受欢迎的套餐情况,并使用指定的数据输出格式。
7. 将销售情况和受欢迎套餐情况保存到文件“lunch.txt”中,格式为:“套餐名称: 销量 占比”。
下面是一个示例的Python程序,用来完成这个任务:
```python
import random
# 数据初始化
meals = ['套餐A', '套餐B', '套餐C', '套餐D']
n = 100 # 学生人数
sales = {meal: 0 for meal in meals} # 初始化销量字典
# 模拟点餐情况
for i in range(n):
choice = random.choice(meals) # 随机选择一种套餐
sales[choice] += 1 # 对应套餐销量加1
# 处理数据
total_sales = sum(sales.values()) # 总销量
sorted_sales = sorted(sales.items(), key=lambda x: x[1], reverse=True) # 销量排序列表
# 输出数据
with open('lunch.txt', 'w') as file:
for meal, count in sorted_sales:
percentage = count / total_sales * 100
file.write(f'{meal}: {count} {percentage:.2f}%\n')
print('当日最受欢迎的套餐是:', sorted_sales[0][0])
过程中,我们的样品数量有很多,但是不同的样品测试完就形成了一个独立的文件,不同样品会形成不同的文件,因此,有时在进行数据处理之前,需要将这些数据列表进行合并统一分析。