Python编程作业综合解析

22、对于本次作业,你需要编写一个或多个程序来读取文件内容并进行以下计算:每年的平均油价:计算文件中每一年的汽油平均价格。(文件数据始于1993年4月,止于2013年8月。使用1993年和2013年现有的数据。)每月的平均油价:计算文件中每个月的平均价格。每年的最高和最低油价:对于文件中的每一年,确定最低价格和最高价格的日期及金额。油价从低到高列表:生成一个文本文件,按价格从低到高列出日期和价格。油价从高到低列表:生成一个文本文件,按价格从高到低列出日期和价格。你可以编写一个程序来执行所有这些计算,也可以为每个计算编写不同的程序。

你可以编写一个或多个程序来读取文件内容,实现以下功能:

  • 计算每年平均油价
  • 计算每月平均油价
  • 确定每年最高和最低油价的日期及金额
  • 生成按价格从低到高排列的日期与价格列表的文本文件
  • 生成按价格从高到低排列的日期与价格列表的文本文件

你可以选择用一个程序完成所有计算,也可以为每个计算单独编写程序。

23、编写一个程序,要求用户输入一条消息(字符串)和一个偏移量(整数)。这些值应传递给一个函数,该函数接受一个字符串和一个整数作为参数,并返回一个字符串,表示通过将字母按该整数进行偏移加密后的原始字符串。例如,字符串 “BEWARE THE IDES OF MARCH” 和整数 13 应得到字符串 “ORJNER GUR VQRF BS ZNEPU”。

以下是满足需求的 Python 代码:

def caesar_encrypt(message, shift):
    encrypted = ''
    for char in message:
        if char.isalpha():
            base = ord('A') if char.isupper() else ord('a')
            new_char = chr((ord(char) - base + shift) % 26 + base)
            encrypted += new_char
        else:
            encrypted += char
    return encrypted

message = input("请输入消息: ")
shift = int(input("请输入偏移量: "))
encrypted_message = caesar_encrypt(message, shift)
print(encrypted_message)

24、以下是类的定义:class Art: def init (self, art_type): self. art_type = art_type def message(self): print(“I’m a piece of art.”) class Painting(Art): def __init (self): Art. init (self, ‘painting’) def message(self): print(“I’m a painting.”) 给定这些类定义,以下语句将显示什么内容?a = Art(‘sculpture’) p = Painting() a.message() p.message()

I’m a piece of art.I’m a painting.

25、查看以下类定义:class Bird: def init (self, bird_type): self._bird_type = bird_type 编写一个名为Duck的类,它是Bird类的子类。Duck类的__init__方法应调用Bird类的__init__方法,并将’duck’作为参数传递。

class Duck(Bird):
    def __init__(self):
        Bird.__init__(self, 'duck')

26、编写一个 Employee 类,该类包含以下信息的数据属性:员工姓名、员工编号。接着,编写一个名为 ProductionWorker 的类,它是 Employee 类的子类。ProductionWorker 类应包含以下信息的数据属性:班次编号(一个整数,如 1、2 或 3)、每小时工资率。工作日分为两个班次:白班和夜班。班次属性将保存一个整数值,表示员工工作的班次。白班是 1 班,夜班是 2 班。为每个类编写适当的访问器和修改器方法。编写完这些类后,编写一个程序,创建一个 ProductionWorker 类的对象,并提示用户为该对象的每个数据属性输入数据。将数据存储在对象中,然后使用对象的访问器方法检索数据并将其显示在屏幕上。

以下是实现上述需求的 Python 代码:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值