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)

Python程序小案例_逆序

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

Python程序小案例_逆序_02

3.某学校食堂午餐提供了4种套餐,首先将套餐名称显示在屏幕上,然后由学生自由选择,假设有n个学生做出了选择,由程序产生n个随机数模拟n个学生的点餐情况,然后统计各套餐的销售情况,并显示出当日人气最高的套餐(如果有销量相同则显示编号小的套餐)及销量占比(保留2位小数),同时将销量情况和人气套餐情况保存到“lunch.txt”文件中,文件格式如图所示。保存程序文件为“diancan.py”。

运行示例(具体销量随机产生,实际运行时将与下图有所差别):

Python程序小案例_数据_03

参考评分标准:

  1. 数据初始化
  2. 文件打开,关闭
  3. 读数据
  4. 数据处理
  5. 排序
  6. 数据输出
  7. 数据输出格式
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])

过程中,我们的样品数量有很多,但是不同的样品测试完就形成了一个独立的文件,不同样品会形成不同的文件,因此,有时在进行数据处理之前,需要将这些数据列表进行合并统一分析。