用Python实现复数的四则运算
推荐一个刷题网站,体验过一段时间了,真的建议去试试。
对于Python很少有基础题库,牛客针对基础专项出题,目前还出炉了数据分析和机器学习 。
不仅是Python,还有Java、C语言C++、数据库SQL、算法、HTML/CSS等很多语言的练习题库,功能很强大,点击这里开始练题
考完试第一篇文章耶!
我尽力了,画了一个多小时
第一次画这种画,浅看一下,重要的是暑假快乐哇!
之前因为括号报错而在这里提出问答,实在是不该,太低级的错误了。这次就好好解释一下复数的四则运算怎么来。在这里用了类方法。
复数四则运算本身并不难,但由于复数 i^2= -1,需要进行实部虚部分别计算。所以这并不仅仅涉及普通数字的乘除运算。在这里要用到四则运算公式,如下:
加法法则: (a+bi)+ (c+di) = (a+c) + (b+d)i;
减法法则: (a+bi) - (c+di) = (a-c) + (b-d)i;
乘法法则: (a+bi)(c+di) = (ac - bd)+ (ad+bc)i
除法法则:
在运算中,a = self.x c = other.x b = self.y d = other.y
接着只要按照公式,将原本的a b c d 在程序中改成self和other的形式
代码如下:
# 用类实现复数的运算class Complex: # 定义Complex类def __init__(self, x, y):self.x = xself.y = y# 定义方法 加 ,可用魔法方法__add__()def __add__(self, other):return Complex(self.x + other.x, self.y + other.y) # 返回两个值的相加结果# 定义方法 减 ,可用魔法方法__sub__()def __sub__(self, other):return Complex(self.x - other.x, self.y - other.y) # 返回两个值的相减结果# 定义方法 乘 ,可用魔法方法__mul__()def __mul__(self, other):return Complex(self.x * other.x - self.y * other.y, other.x * self.y + self.x * other.y) # 返回两个值的复数相乘结果# 定义方法 除 ,可用魔法方法__truediv__()def __truediv__(self, other):return Complex((self.x * other.x + self.y * other.y) / (other.x * other.x + other.y * other.y),(other.x * self.y - self.x * other.y) / (other.x * other.x + other.y * other.y)) # 返回两个值的复数相除结果def __str__(self):return "%d + %di" % (self.x, self.y)c1 = Complex(2, 4) # 2 + 4i,传入实部2,虚部4
c2 = Complex(3, 1) # 3 + i,传入实部3,虚部1
c3 = c1 + c2 # 将相加结果赋值给c3 ,这里由于加号,自动触动上面的魔法方法add,下同
c4 = c1 - c2 # 将相减结果赋值给c4
c5 = c1 * c2 # 将相乘结果赋值给c5
c6 = c1 / c2 # 将相除结果赋值给c6
print(c3)
print(c4)
print(c5)
print(c6)
运行结果:
5 + 5i #相加
-1 + 3i #相减
2 + 14i #相乘1 + 1i #相除
魔法方法:
通俗讲就是,自己定义一种方法,实现你想要它完成的运算(如上add方法,实现复数相加运算),当你的对象用到了这种方法(c3 = c1 + c2),则自动调用add方法实现你希望它完成的相加运算(在这里是复数相加运算,而不只是普通的相加),这是一种非常强大的功能,标志就是前后会各有两个下划线__
欢迎交流!
放假快乐!
用Python实现复数的四则运算相关推荐
- python支持复数以及相关的运算吗_python复数运算
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和大多数语言一样,python也有很多运算符,并且运算符跟其他语言的运算符大同小 ...
- python中复数类型与数学中复数的概念一致_2020年9月计算机二级python选择题在线题库12/15...
1.在最坏情况下比较次数相同的是(). A.冒泡排序与快速排序 B.简单插入排序与希尔排序 C.简单选择排序与堆排序 D.快速排序与希尔排序 A [解析]冒泡排序.快速排序.简单插入排序.简单选择排 ...
- python复数类型的虚部通过什么表示_python复数,python中复数怎么表示
你说的没错,可以是大写的,所以其实C也是错的 Python语言中有关复数的几个概念 1.规定复数的乘法按照以下的法则进行: 设z1=a+bi,z2=c+di(a.b.c.d∈R)是任意两个复数,那么它 ...
- python表示复数的语句是_在python中复数如何表示
在python中复数如何表示 发布时间:2020-09-22 13:54:01 来源:亿速云 阅读:75 作者:小新 这篇文章主要介绍了在python中复数如何表示,具有一定借鉴价值,需要的朋友可以参 ...
- python的复数的实部虚部都是浮点数吗_python中复数的共轭复数知识点总结
理科学生应该都了解过共轭吧,经常在数学或者物理还有化学中出现,在坐标轴上去描述共轭函数还是比较清晰的,py语言里也经常会出现关于共轭函数的使用,操作也非常有趣, 在计算机课上,经常被当做考试的试题,了 ...
- Python中复数取.imag的问题
Python中复数取.imag的问题 Python直接支持复数,给工程计算带来了方便,实际使用中,发现其有些特殊的行为,需要特别注意. 观察下面的例子 >>> 1.23e+4+9.8 ...
- python输入复数_如何在Python中作为用户输入获取复数?
我正在尝试构建一个执行复数基本运算的计算器.我正在使用在网上找到的计算器的代码,并且希望能够将用户输入作为复数.现在,代码使用int(input)来获取要求值的整数,但我希望输入形式为complex( ...
- 【C语言】复数的四则运算与复数运算的头文件
目录 一.复数的四则运算 二.复数的头文件#include<complex.h> 三.一些碎碎念 一.复数的四则运算 (1)计算方法 加法:(a+bi)+(c+di)=(a+c)+(c+d ...
- c语言进行复数的四则运算
c语言进行复数的四则运算 额..好像没什么好说的直接上代码吧,注意下结构体的用法 #include<stdio.h> struct complex {double re;double im ...
最新文章
- JS 伸缩效果代码 (上下伸缩)
- 【Qt】通过QtCreator源码学习Qt(七):插件管理类简介
- linux数字大小判断,if 判断两个数值大小--多分支if语句实现对参数的严格判断
- python简介怎么写-Python开发工程师岗位项目经历怎么写
- 51. N 皇后(回溯算法)
- 打开DataGrip显示Load Data Ctrl+F5解决方案
- 不需要人际交往的计算机系,计算机对大学生人际交往影响.doc
- 【Opencv-Tools(一)】OpenCV中使用多线程处理图像
- Apache Camel 2.21发布–新增功能
- 手机热点总是正在连接服务器,手机热点用不了?可以尝试这个方法。
- 【codevs2440】【BZOJ1066】蜥蜴,最大流
- JavaScript基本类型和引用类型
- 【DS】atoi()实现
- java线程死锁_Java线程死锁实例及解决方法
- 设计一些自学软件的小测试demo吧。
- 什么是TTL电平和cmos电平?ttl电平和cmos电平的区别是什么?
- 计算机语言中索引什么意思,index在中是什么意思
- vue实现标题导航,tab选项卡(一看就会)
- 从音频提取音高以及音符
- 计算机专业兴趣小组 名字,计算机人兴趣小组口号
热门文章
- php paypal源码,PHP整合PayPal支付
- awk 用多个分隔符处理字符串/以及自定义分隔符
- 第一次Scrum冲刺——Life in CCSU
- 一起来验证!换IP软件真的有用嘛?
- c++:求解二元二次方程组(解析解)
- Java代码访问基于https安全协议的网站或服务器
- 7-zip压缩软件使用方法与技巧
- 如何使用C#在Excel表格中写入值(Epplus)
- asp中文编码和php编码的区别,ASP关于编码的几个有用的函数小结(utf8)
- r5 5600h和i5 11400h对比