【新手求助】Python复数问题
复数的形式是a+bi的形式为什么给x赋值一个复数会报无效语法?
>>> x = 3 + 8i
SyntaxError: invalid syntax
但是输入:
>>> x = 4 + 8j
就没有报错?
难道是Python复数的虚部只能是 “j”? Python 语言中有关复数的概念:
1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数
2、复数由实数部分和虚数部分构成
3、表示复数的语法:real+imagej
4、实数部分和虚数部分都是浮点数
5、虚数部分必须有后缀j或Jaa=123-12j
x = 3 + 8i是啥这个涉及到数学问题了吧 如你所料,这似乎是因为python遵循电气工程惯例。这是python Bug跟踪器lssue10562的交换:
BoštjanMejak:在Python中,字母“ j”表示虚数单位。 如果我们在这方面遵循数学并以“ i”表示虚数单位,那将是很好的。
Michael Foord:我们遵循使用j的工程。
(我本来打算以wontfix结束它,但是Antoine尤其热衷于Mark处理这个问题...)
马克·迪金森(Mark Dickinson):补充一下我的想法:迈克尔(Michael)指出,“ j”代表-1(不是平方根)具有在工程学(特别是电气工程)和物理学中的使用历史。 就我个人而言,在这里我更喜欢“ i”而不是“ j”,但是现在更改它会导致(IMO)无故损坏。 看来这确实不是一个大问题,值得大惊小怪。
...
很久以后:
Guido van Rossum:这不会解决。 一方面,字母“ i”或大写字母“ I”看起来太像数字。 通过语言解析器(在源代码中)或通过内置函数(int,float,complex)解析数字的方式不应以任何方式本地化或配置。 这就要求日渐失望。 如果要使用“ i”而不是“ j”解析复数,则已经有很多可用的解决方案。 i好像是高中数学用的,到了大学我们用的都是j为虚单位,并且Python用的也是j
页:
[1]