分页: 1 / 1

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

发表于 : 2008-02-14 15:57
mygod12345
早上,使用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
为什么呢?为什么导入不成功呢?有点儿不可思议,有点儿。

发表于 : 2008-02-20 12:07
xki

代码: 全选

>>> a=0.3
>>> a
0.29999999999999999
>>> b=0.6
>>> b
0.59999999999999998
十进制数在python内部都是二进制存储
所以像0.3这样的数在python中只能通过使用0.29999999999999999这样最接近它的数字来表示

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

发表于 : 2008-02-20 14:05
mygod12345
xki 写了:

代码: 全选

>>> a=0.3
>>> a
0.29999999999999999
>>> b=0.6
>>> b
0.59999999999999998
十进制数在python内部都是二进制存储
所以像0.3这样的数在python中只能通过使用0.29999999999999999这样最接近它的数字来表示
明白了,那么导入的问题呢?为什么不成功呢?

发表于 : 2008-03-12 22:57
jdblns
把你放fibo.py的目录加到python能找到目录中
例如设置环境变量PYTHONPATH=/you/path/
或者
直接添加到 sys.path中