小编Ant*_*rth的帖子

具有不同数量的For循环的函数(python)

我的问题很难解释.

我想创建一个包含嵌套for循环的函数,
其数量与传递给函数的参数成比例.

这是一个假设的例子:

Function(2)
Run Code Online (Sandbox Code Playgroud)

......会涉及......

for x in range (y):
    for x in range (y):
        do_whatever()
Run Code Online (Sandbox Code Playgroud)

另一个例子...

  Function(6)
Run Code Online (Sandbox Code Playgroud)

......会涉及......

for x in range (y):
    for x in range (y):
        for x in range (y):
            for x in range (y):
                for x in range (y):
                    for x in range (y):
                        whatever()
Run Code Online (Sandbox Code Playgroud)

for循环(y)的变量实际上并未在嵌套代码中使用.

你的第一个想法可能是创建一个for循环,其范围是数字参数的功能......
这不能正常工作,因为产品将是巨大的.我需要实例,其中有8个嵌套for循环.
该产品对于for循环中的范围而言太大.

还有其他参数需要传递给函数,但我可以自己处理.

这是代码(它创建了Snowflake Fractal)

from turtle import *
length = 800
speed(0)

def Mini(length):
    for x in range (3):
        forward(length)
        right(60)

penup()
setpos(-500, 0)
pendown()   

choice …
Run Code Online (Sandbox Code Playgroud)

python recursion for-loop nested fractals

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

我找不到计算机上的Android SDK

几个月前我在我的电脑上安装了Android SDK,现在我终于开始自己动手开发了.

目前,我正在尝试为Eclipse安装插件,我需要在我的计算机上设置SDK的位置,但是......我找不到它.
我知道它已安装,因为SDK Manager说它是,但我不知道在哪里!

程序文件或C:\中没有Android文件夹在资源管理器中搜索Android没有产生任何相关性.

那么..有谁知道我在哪里可以找到SDK?
它似乎不在默认位置.
谢谢

java eclipse sdk android

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

获取QComboBox的所有项目 - PyQt4(Python)

我有很多QComboBoxes,在某个时刻,我需要获取特定的每个项目QComboBox来迭代.
虽然我可以只列出与其中的项目相对应的项目列表QComboBox,但我宁愿直接从小部件本身获取它们(QComboBoxes每个项目都有很多项目).

有什么功能/方法可以帮我吗?
(例如:

 QComboBoxName.allItems()
Run Code Online (Sandbox Code Playgroud)

)
我已经通过类引用看了,但找不到任何相关信息.

我想过一些混乱的方法,但我不喜欢它们.
(比如通过QComboBox改变索引并获取项目等来迭代).


Python 2.7.1
IDLE 1.8
Windows 7
PyQt4

python get pyqt4 qcombobox

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

舍入小数的问题(python)

在我的程序中,十进制精度非常重要.
我的很多计算必须精确到许多小数位(例如50).

因为我正在使用python,所以我一直在使用十进制模块(使用context().prec = 99. ie; 设置为在实例化十进制对象时具有99位小数的精确度)
因为pythonic浮点数不允许接近这样的精度.

由于我希望用户指定计算精度的小数位,我必须在我的代码中实现几个round()函数.
不幸的是,内置的圆函数和小数对象不能很好地相互作用.

round(decimal.Decimal('2.000000000000000000001'),50)

# Number is 1e-21.   There are 21 decimal places, much less than 50.
Run Code Online (Sandbox Code Playgroud)

然而结果是2.0而不是2.000000000000000000001
圆函数没有四舍五入到50.更少!

是的,我已经确保在Decimal对象的实例化时不会发生过度舍入,但是在调用round之后.
我总是将表示浮点数的字符串传递给Decimal构造函数,而不是pythonic浮点数.

为什么圆函数对我这样做?
(我意识到它可能最初设计用于pythonic浮点数,它永远不会有这么多的小数位,但是文档声称Decimal对象完美地集成到python代码中并且与内置的python函数兼容!)

非常感谢!
(这让我非常不安,因为这个问题破坏了整个程序的使用)

规格:
python 2.7.1
Windows 7
十进制模块(内置)

python decimal rounding

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

Qt - 获取QLabel中字符串的像素长度

我有一个固定宽度的QLabel.
我需要(定期)检查整个字符串是否适合当前宽度的QLabel内部,因此我可以适当调整它的大小.

为此,我需要获取字符串的"像素长度".
(显示字符串所需的水平像素总数).
应该注意的是,QLabel的点大小永远不会改变.

字符串的

我不能简单地检查存在的字符数量,因为有些字符是下标/上标,并且对整个字符串的宽度有不同的贡献.
(这就是说像素宽度和字符数量之间没有简单的关系)

这有什么抽象的,超级便利的功能吗?

规格:
Python 2.7.1
PyQt4
Windows 7

python pyqt width pyqt4 qlabel

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

将所有BigDecimal操作设置为一定的精度?

我的Java程序以高精度计算为中心,需要精确到至少120个小数位.
因此,所有非整数都将由程序中的BigDecimals表示.

显然,我需要为BigDecimals指定舍入的准确性,以避免无限的十进制表达式等.
目前,我发现必须在BigDecimal的每个实例化或数学运算中指定精度是一个巨大的麻烦.

有没有办法为所有BigDecimal计算设置"全局准确度"?
(比如python中Context.prec()Decimal模块)

谢谢


规格:
Java jre7 SE
Windows 7(32)

java math rounding floating-accuracy bigdecimal

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

没有MousePress的PyQt4 MouseMove事件

当用户将鼠标移动到GUI上时,我需要捕获,但不是当他们按住鼠标按钮时(这将做一些不同的事情).

我找不到任何方便的方法来做到这一点,除了定期找到鼠标位置并检查它以前的位置......哪个会很糟糕.

只有在按下鼠标左键的同时移动鼠标时才会调用mouseMoveEvent,除非小部件具有"鼠标跟踪"功能.鼠标跟踪对我来说不是一个选项,因为当移动鼠标并按下鼠标左键时,GUI的行为必须不同.

有没有内置的方法来做到这一点?(或者只是任何聪明的想法?)

例如:有没有办法检查是否随时按下了鼠标左键?
或者可以应用于QRect(坐标)的"鼠标悬停"事件?

Muchas gracias.


Windows 7(32)
python 2.7
PyQt4

python pyqt mouseover mouseevent pyqt4

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

PythonMagick无法找到我的pdf文件

我从Unofficial Windows Binaries下载并安装了python 2.7,64位Windows 7的PythonMagick .

我正在尝试运行此代码(Processor.py)

import PythonMagick

pdf = 'test.pdf'
p = PythonMagick.Image()    
p.density('600')
p.read(pdf)
p.write('doc.jpg')
Run Code Online (Sandbox Code Playgroud)

在此文件夹中(D:\ Python Projects\Sheet Music Reader) D:\ Python Projects\Sheet Music Reader

但是,使用该相对pdf路径或pdf = "D:\\Python Projects\\Sheet Music Reader"导致此错误;

Traceback (most recent call last):
  File "D:/Python Projects/Sheet Music Reader/Processor.py", line 6, in <module>
    p.read(pdf)  
RuntimeError: Magick: PostscriptDelegateFailed `D:\Python Projects\Sheet Music Reader\test.pdf':   
No such file or directory @ error/pdf.c/ReadPDFImage/664
Run Code Online (Sandbox Code Playgroud)

我根本不明白为什么找不到我的pdf; 它与python脚本位于同一目录中.

导致此错误的原因是什么,我该如何解决?
(我的印象是将pdf转换成python中的图像是一个夜晚的母马)

python windows pdf runtime-error pythonmagick

10
推荐指数
1
解决办法
8972
查看次数

在硬件级别模拟按键 - Windows

我正在寻找一种语言或图书馆,以便我可以在最大程度上模拟击键,而无需用力按键.

(我对击键程度的具体测量是当我的计算机已经运行了关键监听器(例如MouseKeys和StickyKeys)时,它是否会产生与物理按键相同的输出).

我尝试过很多键击仿真方法; Java AWT库,Java win32api,python win32com sendKeys,python ctypes按键,以及更多用于python和Java的库,但它们都没有模拟与实际硬件足够接近的关键笔划.
(当Windows MouseKeys处于活动状态时,发送冒号,半冒号或小键盘ADD键的键击只会产生这些字符,而物理按键执行鼠标键单击时)

我相信这些方法必须涉及将笔画直接发送到应用程序,而不是仅将它们传递给操作系统.

我想到这些高级(以上操作系统代码)级语言的库不会产生足够的东西.我担心我可能不得不屈服于某种BIOS编程.

有没有人对此事有任何有用的信息?
如何在低级语言中模拟按键?
我应该寻找特定于硬件的解决方案(某种富士通硬件API)吗?

我几乎觉得将机器人编程为简单地坐在硬件旁并按下按键会更容易.

谢谢!

python java hardware keystroke simulate

9
推荐指数
2
解决办法
9444
查看次数

time.sleep需要整数?

我正在编写一个宏,当我按一个键时会点击屏幕上的某些点.

我第一次按一个键,一切正常.
但是,任何其他按键都会导致错误:

    time.sleep(0.1)
TypeError: an integer is required
Run Code Online (Sandbox Code Playgroud)

这是代码:

import win32api
import win32con
import time
import pythoncom
import pyHook
import os

def Click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def DeleteRun(event):
    Click(1250, 741)
    time.sleep(0.1)
    Click(649,261)
    time.sleep(0.1)
    Click(651, 348)
    time.sleep(0.1)
    Click(800, 442)
    time.sleep(0.1)
    Click(865, 612)


Click(20,20)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()
Run Code Online (Sandbox Code Playgroud)

这似乎是第一次DeleteRun运行函数pyHook,time.sleep()接受浮点数.
在任何后续函数调用中,它似乎只接受整数.

是什么造成的?
我不能等待5秒钟的鼠标安排!它应该节省时间!

眼镜:

  • python 2.7.2
  • Windows 7(32)

python time integer sleep pyhook

8
推荐指数
1
解决办法
2502
查看次数