RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
python的函数结果 python 函数中的函数

为什么python使用eval函数输出结果有很多尾数

我们都知道在计算机中数据由二进制表示,而浮点数则是小数的一种二进制表示方法。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、永顺网站维护、网站推广。

由于浮点数存在精度限制,在Python中使用浮点数做运算时就可能会产生不确定尾数。

不确定尾数

比如0.1 + 0.2的运算结果应该是0.3,但是在Python中输出的却是0.30000000000000004。小数点后十七位出现了不确定尾数,这与浮点数的精度是相符合的。

不确定尾数的影响

不确定尾数是一种比较常见的现象,在编写程序时要注意避免,否则容易产生不易察觉的bug。

比如下面这段简单的程序,它判断用户的计算结果是否正确:

x = 0.1

y = 0.2

z = input(str(x) + '+' + str(y) + '=')

if x + y == eval(z):

print('Correct Answer')

else:

print('Wrong Answer')

如果用户输入了正确的答案0.3,程序本来应该输出“Correct Answer”,然而由于不确定尾数的存在,程序依然输出“Wrong Answer”。

实验结果:

判断出错

如何避免受不确定尾数的影响

既然知道了不确定尾数会带来不可预料的bug,我们在编写程序时就要留意避免这种局面,一种常用的方法是使用round()函数只保留运算结果的前几位小数,这样就自然去掉了小数点后十多位的不确定尾数。

刚才那段代码可以修改为如下版本:

x = 0.1

y = 0.2

z = input(str(x) + '+' + str(y) + '=')

if round(x + y, 6) == eval(z):

print('Correct Answer')

else:

print('Wrong Answer')

这里用round(x + y, 6)来保留到小数点后六位。实验结果:

python中哪种函数结果是非数值

答案:str函数、bool函数结果是非数值。

#例如:

a=7.89 # float

b=str(a) # float→str

print(f"{type(b)=},{b=}") # type(b)=class 'str',b='7.89'

c=bool(True)

print(f"{type(c)=},{c=}") # type(c)=class 'bool',c= True

python list(range(1,10,3))结果是什么?

Python语句list(range(1,10,3))执行结果为[1,4,7]。

语法是:range(start,stop[,step])

参数说明:

(1)start:计数从start开始,默认是从0开始。例如range(5)等价于range(0,5);

(2)stop:计数到stop结束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]没有5;

(3)step:步长,默认为1。例如:range(0,5)等价于range(0,5,1)。

因此,range(1,10,3)的意思是1到10之间的tuple,间隔为3,所以结果是(1,4,7)。

列表(List)是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

所以,list(range(1,10,3))执行结果为[1,4,7]。

扩展资料

Python列表函数方法

Python包含以下函数:

1、cmp(list1, list2):比较两个列表的元素;

2、len(list):列表元素个数;

3、max(list):返回列表元素最大值;

4、min(list):返回列表元素最小值;

5、list(seq):将元组转换为列表。

Python包含以下方法:

1、list.append(obj):在列表末尾添加新的对象;

2、list.count(obj):统计某个元素在列表中出现的次数;

3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表);

4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置;

5、list.insert(index, obj):将对象插入列表;

6、list.pop([index=-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值;

7、list.remove(obj):移除列表中某个值的第一个匹配项;

8、list.reverse():反向列表中元素;

9、list.sort(cmp=None, key=None, reverse=False):对原列表进行排序。


网站题目:python的函数结果 python 函数中的函数
分享地址:http://scyingshan.cn/article/doehhic.html