小编AKG*_*AKG的帖子

RuntimeWarning:在np.exp(x ** 2)中遇到溢出

我需要计算exp(x**2)在哪里x = numpy.arange(30,90)。这引发了警告:

RuntimeWarning: overflow encountered in exp
inf
Run Code Online (Sandbox Code Playgroud)

我不能放心地忽略此警告,但是SymPy和mpmath都不是解决方案,我需要执行阵列操作,因此Numpy解决方案将是我的梦想。

有谁知道如何处理这个问题?

python numpy exp

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

Pygame:重新调整像素大小

使用 pygame,我创建了一个 20x20 像素的窗口并添加了一个 2x2 像素的矩形。当我运行程序时,窗口大小非常小,几乎看不到矩形。如何在保持像素数不变的同时增加窗口大小,即增加像素大小?我知道这个类似的问题,但讨论了一个更复杂的案例。

import pygame
screen_width, screen_height = 20, 20
x, y = 10, 10
rect_width, rect_height = 2, 2
vel = 2
black = (0, 0, 0)
white = (255, 255, 255)
pygame.init()
win = pygame.display.set_mode((screen_width, screen_height))
run = True
while run:
    pygame.time.delay(100)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
    win.fill(black)
    pygame.draw.rect(win, white, (x, y, rect_width, rect_height))
    pygame.display.update()
pygame.quit()
Run Code Online (Sandbox Code Playgroud)

python pygame

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

如何立即打印 Python ThreadPoolExecutor.map 的结果?

我正在为多组可迭代对象运行一个函数,在所有进程完成后立即返回所有结果的列表。

def fct(variable1, variable2):

   # do an operation that does not necessarily take the same amount of
   # time for different input variables and yields result1 and result2

   return result1, result2

variables1 = [1,2,3,4]
variables2 = [7,8,9,0]

with ThreadPoolExecutor(max_workers = 8) as executor:
    future = executor.map(fct,variables1,variables2)
    print '[%s]' % ', '.join(map(str, future))
Run Code Online (Sandbox Code Playgroud)
>>> [ (12,3) , (13,4) , (14,5) , (15,6) ]
Run Code Online (Sandbox Code Playgroud)

如何在计算结果后立即打印中间结果,例如变量 1 = 1、变量 2 = 7?

python map threadpool concurrent-programming concurrent.futures

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

如何使用特定的python版本创建conda环境?

我已经miniconda3安装了,并且由于我想使用python 3.3.0版本的环境,因此我通过

conda create -n "myenv" python=3.3.0
Run Code Online (Sandbox Code Playgroud)

但是,当我通过激活环境时

conda activate myenv
Run Code Online (Sandbox Code Playgroud)

python具有版本2.7.15和路径

/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

和ipython具有python版本3.6.8和路径

/home/myname/.local/bin/ipython
Run Code Online (Sandbox Code Playgroud)

我可以访问正确的蟒蛇与python3它在

/home/myname/miniconda3/envs/mattention/bin/python3
Run Code Online (Sandbox Code Playgroud)

但是,ipython3再次具有python 3.6.8版本。

conda install python=3.3.0
Run Code Online (Sandbox Code Playgroud)

情况保持不变。

一种解决方案是通过以下方式打开IPython:

python3 -m IPython
Run Code Online (Sandbox Code Playgroud)

但是,虽然在这里工作正常,但python我收到了错误消息

/home/myname/miniconda3/envs/mattention/bin/python3: No module named IPython
Run Code Online (Sandbox Code Playgroud)

是否可以在该特定环境中同时使用命令pythonipythonpython 3.3.0版本进行访问,即不能通过在.bashrc?中设置别名来进行访问?

编辑:

原来,如果您选择版本3.3而不是3.3.0以及@ilmarinen的答案,则不会发生此问题。

conda create -n "myenv" python=3.3 ipython
Run Code Online (Sandbox Code Playgroud)

一切都正常,python并且ipython结果符合python版本3.3.5

python conda miniconda

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