解决complex转int的问题

解决complex转int的问题

代码

错误

int(999j)

Traceback (most recent call last):
File “”, line 1, in
int(999j)
TypeError: can’t convert complex to int

正确

def complextoint(cp):
	cp = list(str(cp)) #从complex转str再转list
	cp.remove(j) #去掉尾部的j
	j = "" #创造空字符串变量j
	for i in cp: #遍历列表
		j += i
	 return int(j) #最后由str转int,并将此作为返回值。

有兴趣可以试试看下面。

调用

complextoint(1234567890j)

输出:
1234567890

惊讶吗?

顺序

程序把cp这个局部变量从complex转str,再转成list,然后去掉cp尾部的j(complex以j为后缀),接着创造一个空字符串变量j,接下来遍历列表,将这个空字符j增加列表cp里面的所有值,最后将j由str转int,并将此作为返回值。

拓展

int(abs(9j))

输出:
9

还可以直接用abs函数实现。

小结

今天我们知道了如何将complex转int,并知道了它的顺序是怎样的,还通过拓展知道了可以直接用abs函数实现。

你可能感兴趣的:(python语句)