python实现用类读取文件数据并计算矩形面积

yipeiwu_com6年前Python基础

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:

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

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

number=0

def __init__(self,a,b): # a、b类似C中的形参 或者叫作构造方法
 self.a1=a   # 将形参中的值传入到类模板
 self.b1=b   # 实例变量
   
def getArear(self):
 s1=self.a1
 s2=self.b1
 area=s1*s2
 return area

print(Rectangle.doc)
print('\n')
file1=open('./Test2/file1.txt')
str1=file1.readlines()
file2=open('./Test2/file2.txt',‘w') # 以文件覆盖的形式进行写入
for line in str1:
x=line.split()
r1=Rectangle(int(x[0]),int(x[1])) # 直接调用类定义函数
area=r1.getArear()
print(area) # 调用类变量函数
file2.write(‘面积:%d * %d=\t'%(int(x[0]),int(x[1]))) # 所在行
file2.write(str(area))

file2.write(str(area))

file2.write('\n')

file2.close()

执行结果如下:

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

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

200
600
1200
2000
3000

以上这篇python实现用类读取文件数据并计算矩形面积就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现定时自动关闭的tkinter窗口方法

Python实现定时自动关闭的tkinter窗口方法

功能简要说明:程序运行后10秒钟自动关闭。 技术要点:tkinter应用程序的destroy()方法,多线程编程。 代码截图: 运行效果: 以上这篇Python实现定时自动关闭的tk...

python修改字典键(key)的方法

python修改字典键(key)的方法

python字典中,值可任意更改;但键是唯一的,不支持直接修改。若真的需要修改字典中的键,可通过几种间接方式实现。 新建空白字典。 info = {} 给字典添加键-值对。...

python脚本替换指定行实现步骤

 python脚本替换指定行实现步骤        本文主要介绍了Python的脚本替换,由于工作的需要,...

Python静态类型检查新工具之pyright 使用指南

Python静态类型检查新工具之pyright 使用指南

Python是一门动态类型的语言,民间流传一种说法叫”动态一时爽,重构火葬场”,听起来够吓人的,好在这门语言在不断地改进,包括对 PEP484 引入的类型提示(Type Hint),就是...

Windows下用py2exe将Python程序打包成exe程序的教程

py2exe在sourceforge 的下载只支持到2.7。 针对python3.0+的版本,需要自己编译。 1.下载源码 svn checkout svn://svn.code.sf....