python函数返回尾数 函数返回值python
python:返回值问题
python 函数返回值有两种形式:
成都创新互联公司专业网站设计制作、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文发布平台等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
1 返回一个值。
2 返回多个值。
现看看返回一个值的吧。
def firstvalue(a,b):
c = a + b
return c
print firstvalue(1,2)结果:3
再看看返回多个值的: 那怎么可以返回多个值呢,其他的语言一般调用函数的话,只能返回一个值,可能我不太熟悉所有的语言,我知道的语言只能返回一个值,而python可以返回多个值,感觉非常方便,发代码看下:
def secondvalue(a,b):
c = a + b
return (a,b,c)
x,y,z = secondvalue(1,2)
print 'x:',x,'y:',y,'z:',z
为什么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中的return的用法?
题主你好,
每门语言中都有自己语法, python中return关键字的用法是:
也就是说return后面要接的是表达式, 但如果按题主所说的,写成:
要注意 "person = {xxx}" 这是一个语句, 而非一个表达式, 和python中定义的return语法是相背的,所以不能这么写.
希望可以帮到题主, 欢迎追问.
分享文章:python函数返回尾数 函数返回值python
文章网址:http://myzitong.com/article/dojjepg.html