[问题]2月10日 周日 大年初四,练习使用Python

软件和网站开发以及相关技术探讨
回复
头像
mygod12345
帖子: 425
注册时间: 2007-08-02 14:52
系统: 15.10
来自: Beijing
联系:

[问题]2月10日 周日 大年初四,练习使用Python

#1

帖子 mygod12345 » 2008-02-14 15:57

早上,使用python中的insert的用法的时候,发现这样一件事请,不论在IDLE或终端中的python,都是一样:
>>> a=[66.6,333,333,1,1234.5]
>>> a.insert(2,-1)
>>> a
[66.599999999999994, 333, -1, 333, 1, 1234.5]
为什么结果中有 66.599999999999994这么长的数字呢?我百思不得其解,是不是python看见小数点之后有数字,在结果中就无限近似了呢?但是在这个基础上输入:a.remove(66.6),得出的结果是[333, -1, 333, 1, 1234.5],为什么呢?我有些疑惑了。
晚上,开始学习modules的相关东西,没有想到一开始便遭遇到了我很头疼的问题。在编辑器中输入:
>>> def fib(n):

a,b=0,1

while b<n:

print b,

a,b=b,a+b





>>> def fib2(n):

result=[]

a,b=0,1

while b<n:

result.append(b)

a,b=b,a+b

return result



>>>
之后,保存为fibo.fy。然后再打开一个新的编辑器窗口,输入:import fibo。得到的结果让我很诧异:
Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "fibo.py", line 1

Python 2.5.1 (r251:54863, Oct 5 2007, 13:36:32)

^

SyntaxError: invalid syntax
为什么呢?为什么导入不成功呢?有点儿不可思议,有点儿。
过往惊艳之谈,青春陨落之地
Mac Love Me
http://maclove.me/
xki
帖子: 15
注册时间: 2007-01-11 16:41

#2

帖子 xki » 2008-02-20 12:07

代码: 全选

>>> a=0.3
>>> a
0.29999999999999999
>>> b=0.6
>>> b
0.59999999999999998
十进制数在python内部都是二进制存储
所以像0.3这样的数在python中只能通过使用0.29999999999999999这样最接近它的数字来表示
头像
mygod12345
帖子: 425
注册时间: 2007-08-02 14:52
系统: 15.10
来自: Beijing
联系:

明白了,那么导入的问题呢?为什么不成功呢?

#3

帖子 mygod12345 » 2008-02-20 14:05

xki 写了:

代码: 全选

>>> a=0.3
>>> a
0.29999999999999999
>>> b=0.6
>>> b
0.59999999999999998
十进制数在python内部都是二进制存储
所以像0.3这样的数在python中只能通过使用0.29999999999999999这样最接近它的数字来表示
明白了,那么导入的问题呢?为什么不成功呢?
过往惊艳之谈,青春陨落之地
Mac Love Me
http://maclove.me/
jdblns
帖子: 4
注册时间: 2008-01-12 23:22

#4

帖子 jdblns » 2008-03-12 22:57

把你放fibo.py的目录加到python能找到目录中
例如设置环境变量PYTHONPATH=/you/path/
或者
直接添加到 sys.path中
回复