python创建一个矩形类rectangle_python实现用类读取文件数据并计算矩形面积

本文介绍如何使用Python创建一个矩形类,用于计算矩形面积。通过类的方法,读取文件中的数据,计算多个矩形的面积,并将结果写入新的文件中。示例代码展示了如何实例化Rectangle类,读取文件'./Test2/file1.txt',计算每个矩形的面积,然后将结果写入'./Test2/file2.txt'。
摘要由CSDN通过智能技术生成

1.创建一个类Rectangle,已知a、b求面积,求三角形的面积

2.结合题目一,从题目一文件中读取数据,并采用类的方法,将计算的结果写在另一个文档中。

(1)利用类进行计算一个矩形的面积,已经a、b边长。

class Rectangle:

'''这是关于矩形面积的计算公式,只用给出矩形的长和宽,

调用实例函数,就可以返回所需要的面积'''

number=0 def __init__(self,a,b): # a、b类似C中的形参 或者叫作构造方法

self.a1=a # 将形参中的值传入到类模板

self.b1=b # 实例变量

Rectangle.number=Rectangle.number+1

self.no=Rectangle.number

def getArear(self):

s1=self.a1

s2=self.b1

area=s1*s2

return area

r1=Rectangle(10,20)

print(r1.a1)

s=r1.getArear()

print(s)

print(Rectangle.doc)

print(r1.number)

执行结果:

(2)结合第一题,从文件中读取数据进行计算

class Rectangle:

'''这是关于矩形面积的计算公式,只用给出矩形的长和宽,

当然,我可以帮你编写一个这样的。以下是一个示例代码: ```python import cv2 import numpy as np from PIL import Image, ImageDraw, ImageFont class TextWaterfallVideoGenerator: def __init__(self, text_file, output_file, font_path, font_size=32, text_color=(255, 255, 255), background_color=(0, 0, 0), fps=30): self.text_file = text_file self.output_file = output_file self.font_path = font_path self.font_size = font_size self.text_color = text_color self.background_color = background_color self.fps = fps def generate_video(self): # 读取文本文件内容 with open(self.text_file, 'r', encoding='utf-8') as file: lines = file.readlines() # 计算视频尺寸 max_line_length = max(len(line) for line in lines) video_width = max_line_length * self.font_size video_height = len(lines) * self.font_size # 创建视频写入器 fourcc = cv2.VideoWriter_fourcc(*'mp4v') video_writer = cv2.VideoWriter(self.output_file, fourcc, self.fps, (video_width, video_height)) # 创建画布 image = Image.new('RGB', (video_width, video_height), self.background_color) draw = ImageDraw.Draw(image) font = ImageFont.truetype(self.font_path, self.font_size) frame_count = 0 for line in lines: # 清空画布 draw.rectangle((0, 0, video_width, video_height), fill=self.background_color) # 写入文本 draw.text((0, 0), line, font=font, fill=self.text_color) # 将画布转为OpenCV图像 frame = np.array(image) frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) # 写入视频帧 for _ in range(self.fps): video_writer.write(frame) frame_count += 1 video_writer.release() print(f"视频生成成功,总共生成了 {frame_count} 帧。") ``` 使用方法示例: ```python text_file = 'a.txt' # 替换为你的文本文件路径 output_file = 'output.mp4' # 替换为你的输出视频文件路径 font_path = 'font.ttf' # 替换为你的字体文件路径 generator = TextWaterfallVideoGenerator(text_file, output_file, font_path) generator.generate_video() ``` 请确保已安装必要的依赖库(cv2、numpy、Pillow)。此示例代码将文本文件中的每一行作为视频的一帧,生成一个文字瀑布流视频。你可以根据需要自定义字体、字体大小、文本颜色、背景颜色和帧率等参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值