相关疑难解决方法(0)

python中的负零

[Python 3.1]

我在python的输出中遇到负零; 它的创建举例如下:

k = 0.0
print(-k)
Run Code Online (Sandbox Code Playgroud)

输出将是-0.0.

但是,当我将-k0.0 比较为相等时,它会产生True.有什么区别0.0-0.0(我不在乎他们可能有不同的内部表示.我只关心自己的程序中的行为)是否有任何隐藏的陷阱我应该知道的?

python floating-point floating-accuracy zero

47
推荐指数
4
解决办法
2万
查看次数

python map exception继续映射执行

以下示例非常简单.我想用一个可以引发Exception的函数执行map().通过一个例子将更清楚:

number_list = range(-2,8)

def one_divide_by(n):
    return 1/n

try:
    for number, divide in zip(number_list, map(one_divide_by, number_list)):
        print("%d : %f" % (number, divide))
except ZeroDivisionError:
    # Execution is stopped. I want to continue mapping
    pass
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,我得到:

-2 : -0.500000
-1 : -1.000000
Run Code Online (Sandbox Code Playgroud)

这是由于我的列表中的0.我不想删除这个0(因为在实际情况下我不知道我是否会得到Exception).你知道如何在异常后继续映射吗?

python dictionary exception-handling python-3.4

7
推荐指数
1
解决办法
3611
查看次数

while循环,永远运行或倒计时

有没有更好的解决方案来编写一个while循环,如果参数为0则永远运行,或者如果参数是任意n大于0,则运行n次:

x = options.num  # this is the argument (read by Optparse)
if x == 0:
    check = lambda x: True
else:
    check = lambda x: True if x > 0 else False
while check(x):
    print("Hello World")
    x -= 1
Run Code Online (Sandbox Code Playgroud)

你可以将lambda组合成:

check = lambda x: True if x > 0 or options.num == 0 else False
Run Code Online (Sandbox Code Playgroud)

但是你仍然需要倒数x,除非你在那之前放一个if.

python optimization

5
推荐指数
1
解决办法
1621
查看次数

打印数字从1到x,其中x在python中是无穷大

可能重复:
Python无限 - 任何警告?
python unbounded xrange()

我有一个关于Python的问题,你编写一个简单的脚本,打印从1到x的数字序列,其中x是无穷大.这意味着," x "可以是任何值.

例如,如果我们要打印一系列数字,它会将数字从1打印到"if"语句,表示停在数字"10"并且打印过程将停止.

在我当前的代码中,我正在使用这样的"for"循环:

for x in range(0,100):
    print x
Run Code Online (Sandbox Code Playgroud)

我试图想象如何将"范围"中的"100"替换为其他可以让循环在不指定值的情况下连续打印序列的东西.任何帮助,将不胜感激.谢谢

python infinity

2
推荐指数
1
解决办法
1万
查看次数