我需要计算exp(x**2)在哪里x = numpy.arange(30,90)。这引发了警告:
RuntimeWarning: overflow encountered in exp
inf
Run Code Online (Sandbox Code Playgroud)
我不能放心地忽略此警告,但是SymPy和mpmath都不是解决方案,我需要执行阵列操作,因此Numpy解决方案将是我的梦想。
有谁知道如何处理这个问题?
使用 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) 我正在为多组可迭代对象运行一个函数,在所有进程完成后立即返回所有结果的列表。
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
我已经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)
是否可以在该特定环境中同时使用命令python和ipythonpython 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。