我现在已经和python一起玩了大约一个月了,有些事情让我困扰.我使用python(x,y)工具包,它附带了整洁的Spyder IDE.我的问题涉及Spyder的UMD(用户模块删除).
我 在互联网上找到了这个图形模块,这有助于人们在python脚本中做一些简单的图形内容(据我所知).
它不像我被卡住了,但是当我执行下面的代码时:
import pylab as p
import graphics as g
window = g.GraphWin("tryout", 600, 600)
window.close()
print p.sqrt(4)
Run Code Online (Sandbox Code Playgroud)
输出是:
>>>runfile(r'C:\some\folders\tryout.py', wdir=r'C:\some\folders')
>>>UMD has deleted: graphics
>>>2.0
Run Code Online (Sandbox Code Playgroud)
1号线显然是好的,所以是3号线,但我没有得到线2条.此外,挑起窗口闪烁和画面之外,因为它应该.第2行似乎没有任何伤害,我可以完全重新运行该文件,因为我不想,但我想知道它来自哪里.
每次运行脚本时,AFAIK UMD都会强制解释器重新加载模块.显示的消息是否表示"它"已删除对模块的引用,因为它已不再使用,或者是否为其他内容?或者它是否意味着某些事情是错误的,并且如果我之后添加更多内容会"伤害"我的代码吗?
注意:第一个问题,所以请评论它的废话,以帮助我提高我的要求技巧.
编辑:我尝试在测试线上移动print p.sqrt(4),发现我把它放在哪里并不重要.如果它是导入模块后的第一行,它仍会在显示sqrt(4)之前提示消息
我想为Android创建一款游戏,并希望尝试新的东西.
我真的很喜欢python,并希望用它来开发Android游戏.
游戏并不简单,它将是3D RPG游戏.我找到了Kivy Crossplatform Framework和PyGame.我真的很喜欢这两个,但我不确定Python是否适合我.
我只是实现了一个简单的机器人,该机器人应该将一些照片和视频发送给我chat_id。好吧,我正在使用python,这是脚本
import sys
import time
import random
import datetime
import telepot
def handle(msg):
chat_id = msg['chat']['id']
command = msg['text']
print 'Got command: %s' % command
if command == 'command1':
bot.sendMessage(chat_id, *******)
elif command == 'command2':
bot.sendMessage(chat_id, ******)
elif command == 'photo':
bot.sendPhoto(...)
bot = telepot.Bot('*** INSERT TOKEN ***')
bot.message_loop(handle)
print 'I am listening ...'
while 1:
time.sleep(10)
Run Code Online (Sandbox Code Playgroud)
在这一行中,bot.sendphoto我将插入chat_id图像的路径和,但是什么也没有发生。
我哪里错了?
谢谢
我正在尝试填充100x100矩阵上的对角线元素,如下面的matlab代码所示,所以如何在python中复制它.
T=(2*t0*diag(ones(1,100)))-(t0*diag(ones(1,99),1))-(t0*diag(ones(1,99),-1))
Run Code Online (Sandbox Code Playgroud)
所以我知道RHS的第一个术语将填充矩阵的对角线值2*t0,
我在python中做如下:
x = np.zeros((100,100))
np.fill_diagonal(x,2*t0)
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何做第2和第3项,我知道它们会填充对角线元素上下的值-t0,而不是所有的对角线值,而只填充对角线的上下值使用-t0,rest all都是零,但我不知道如何为它编写python代码.
我找到了这段代码:
# diagonal with offset from the main diagonal
diag([1,2,3], k=1)
Run Code Online (Sandbox Code Playgroud)
将输出为:
array([[0, 1, 0, 0],
[0, 0, 2, 0],
[0, 0, 0, 3],
[0, 0, 0, 0]])
Run Code Online (Sandbox Code Playgroud)
但是如何在我的问题的情况下将它应用于大矩阵?我在交互式python中工作,即Anaconda,那么我可以用于我的问题的其他包?