解决python中的幂函数、指数函数问题

yipeiwu_com6年前Python基础

最近在调代码,碰到幂函数、指数函数,总是提示

ValueError: math domain error

ValueError: negative number cannot be raised to a fractional power

这些异常、错误,

发现里边有很多细节问题:

python中,想要表示a的b次方时,有两种方法:

1,math.pow()这个内置函数

2,**运算符

这两种方法效果是一样的,但是当

b为分数,a为负数:当幂运算符的底数为负数、幂为分数时,Python会抛出ValueError: negative number cannot be raised to a fractional power异常,

这时有两种方法可以解决此问题:

1,底数a正负均可不影响你的算法的话,加一个绝对值就行了即abs(a);

2,如果底数a必须是正、或必须是负的话,需要采用复数进行运算。因此凡是遇到幂为分数的项,都将底数用complex()转换为复数。

以上这篇解决python中的幂函数、指数函数问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解基于python的多张不同宽高图片拼接成大图

详解基于python的多张不同宽高图片拼接成大图

半年前写过一篇将多张图片拼接成大图的博客,是讲的把所有图片先转换为256×256的图片后再进行拼接,今天看到一个朋友的评论说如何拼接非正方形图片,如47×57,之前有个朋友也问过这个,我...

wxpython中利用线程防止假死的实现方法

wxpython中利用线程防止假死的实现方法

前段时间我编写了一个工业控制的软件,在使用中一直存在一个问题,就是当软件检索设备时,因为这个功能执行的时间比较长,导致GUI界面假死,让用户分辨不清楚软件到底仍在执行,还是真的挂掉了。(...

Python查找第n个子串的技巧分享

Problem Python中str类自带的find、index方法可以返回第一个匹配的子串的位置,但是如果实际使用中需要查找第2个甚至第n个子串的位置该怎么办呢。也许有的码友可能会用到...

Django学习之文件上传与下载

本文实例为大家分享了Django文件上传与下载的具体代码,供大家参考,具体内容如下 文件上传 1.新建django项目,创建应用stu: python manage.py start...

Python 数据结构之堆栈实例代码

Python 堆栈 堆栈是一个后进先出(LIFO)的数据结构. 堆栈这个数据结构可以用于处理大部分具有后进先出的特性的程序流 . 在堆栈中, push 和 pop 是常用术语:...