小编Mag*_*off的帖子

我需要一个算法,将一个点返回到Python中的列表中

我正在使用Zelle的Python图形库,我需要一些帮助来创建一个算法来返回列表中的数字.

基本上我将5x7板分成100x100像素网格.这与此类列表相对应.

| 0| 1| 2| 3| 4|  
| 5| 6| 7| 8| 9|  
|10|11|12|13|14|  
|15|16|17|18|19|  
|20|21|22|23|24|  
|25|26|27|28|29|  
|30|31|32|33|34|  
Run Code Online (Sandbox Code Playgroud)

我需要一种算法,通过鼠标点击获取网格的中心点,并将其转换为与列表对应的数字.例如,点(50,50)将返回0,点(150,150)将返回6,等等.

非常感谢您花时间帮助弄清楚这个算法!

python algorithm graph point

4
推荐指数
1
解决办法
108
查看次数

派生类模板不会看到基类的成员

我开发了一个派生自另一个的类,但我遇到了这个代码:

template <class A, class B, class C>
class BaseClass
{
public:
    BaseClass(){}
    virtual void amethod( A* aPtr=0)
    {
        mAPtr=aPtr;
    }
    virtual void init()=0;
protected:
    A * mAPtr;
    B* mBPtr;
    C * mCPtr;
};
template <class A,class B,class C>
class ChildClass: public BaseClass<A,B,C>
{
public:
    ChildClass( A* aAptr =0, B * aBPtr= 0, C* aCPtr= 0):mAPtr(aAptr)
      ,mBPtr(aBPtr)
      ,mCPtr(aCPtr)
    {}

};
int main()
{

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译器说,子类没有任何父字段.

编译出来:

 In constructor 'ChildClass<A, B, C>::ChildClass(A*, B*, C*)'
 In constructor 'ChildClass<A, B, C>::ChildClass(A*, …
Run Code Online (Sandbox Code Playgroud)

c++

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

为什么Python内置类型名称不是保留关键字?

换句话说,为什么Python允许与内置类型名称相同的变量名,如int,float,list等?(相比之下,C++内置类型名称都是保留的).考虑这个例子

# int = 1
i = 2
if type(i) == int:
    print 'Is int'
else:
    print 'Not int'
Run Code Online (Sandbox Code Playgroud)

输出为"Is int ".但是,如果我取消注释第一行,则输出将为" Not int ".显然我的"int"已经覆盖了内置类型int.也就是说,在我看来,有潜在危险.

python reserved-words built-in-types

4
推荐指数
1
解决办法
1334
查看次数

联合如何用于定义类

我有两个疑问,请帮助我:

  1. 是否可以在union中定义一个类
  2. 是否可以定义没有类名的类

c++ model-view-controller visual-c++

3
推荐指数
1
解决办法
194
查看次数

具有双范围情况的开关样式C#构造

我正在努力想出一种在双精度上进行某种开关样式选择的最佳方法,以找出它的范围.这样的东西:

double a = 1.1;
switch(a)
{
case: (0.0, 1.6)
 return 1;
case: (1.6, 2.337)
 return 2;
case: (2.337, 3.2974)
 return 3;
default:
  return -1;
}
Run Code Online (Sandbox Code Playgroud)

显然在这个例子中,范围中的一个值必须是非包容性的,但是你得到了我的漂移.有任何想法吗?

编辑,范围不一定是整数.

编辑2:我实际上正在处理弧度并找出一个点在12个范围中的哪一个.我最终这样做:

double pi = Math.PI;
double[] zones = new double[] {
        0, pi/6, pi/3, pi/2,
        2*pi/3, 5*pi/6, pi, 7*pi/6,
        4*pi/3, 3*pi/2, 5*pi/3, 11*pi/6
    };

for (int i = 0; i < 11; i++)
{
    if (radians > zones[i] && radians <= zones[i + 1])
    {
        return i + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我开始做一个二元搜索类型if-else,但它会变得太乱.

c# double switch-statement

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

c ++中的函数指针

我试图使用函数指针,我收到此错误:

无法转换void (__thiscall MyClass::*)(void)void (__cdecl *)(void)

// Header file - MyClass.h
class MyClass
{
public:
    MyClass();
    void funcTest();
protected:
    void (*x)();
};


// Source file 
#include "stdafx.h"
#include "MyClass.h"

MyClass::MyClass()
{
    x = funcTest;
}

void MyClass::funcTest()
{

}
Run Code Online (Sandbox Code Playgroud)

(使用:Visual Studio 6)

任何人都可以注意到我错过的任何东西吗?

c++

3
推荐指数
1
解决办法
266
查看次数

Bash中任何等效的*样式,用于处理不匹配相同模式的多个文件

我正在寻找在当前工作目录中的所有文件上迭代脚本而不迭代脚本(所以任何扩展.py).我当时正在使用它

for fileName in os.listdir('.'):
    if fileName != 'autocorrelation1.py':
        with open(fileName, "r") as input:

        REST OF SCRIPT HERE
Run Code Online (Sandbox Code Playgroud)

当我在文件夹中只有一个脚本autocorrelation.py时,哪个有效,但现在我有一些python脚本,我想知道是否有一个bash风格的等效*例如

for fileName in os.listdir('.'):
    if fileName != *'.py':
        with open(fileName, "r") as input:

        REST OF SCRIPT HERE
Run Code Online (Sandbox Code Playgroud)

我想我很懒,可以用另一行代码来做,但只是想知道是否有人知道更有趣的方式!

python

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

将2x32位大整数除以1000

我有两个32位变量存储的大数字,时间(微秒).我需要一个帮助,如何将微秒时间改为毫秒,所以我可以存储32位数的差异结果.

更多细节:我有两次32位变量.其中一个变量具有更高有效位,而另一个变量具有更少有效位.这个时间有微秒分辨率,所以我想把它改成毫秒.那么如何划分存储在两个变量中的数字.

c++ algorithm bignum

3
推荐指数
1
解决办法
1549
查看次数

指针表现得很奇怪

我是编程和c ++新手.我很感激这方面的一些帮助.

以下程序(在c ++中)在编译或运行时都不会遇到任何问题:

int main()
{
    int b = 5;
    int*a = &b;
    *(a+5) = 6;
    return 0;

}
Run Code Online (Sandbox Code Playgroud)

但根据我所学到的一切,它应该不起作用,因为a是指向单个变量的指针.我在这里错过了什么?

c c++ pointers

3
推荐指数
1
解决办法
149
查看次数

dlopen()不能与android-n一起使用

dlopen()在API-23上正常工作,但对于Android-N,当我尝试使用dlopen它打开任何sofile 时返回一个soinfo结构类型指针.但当我试图访问此结构的任何变量时,应用程序崩溃.

si = (soinfo*) dlopen("/data/app/com.xxx.xxx.sampleapp.android-1/lib/x86/libtest.so", RTLD_GLOBAL);

if (si == NULL)
    return;

LOGI("value of dlopen [%d]", si->size);
Run Code Online (Sandbox Code Playgroud)

dlopen()Android-N的功能是否有任何变化?

linux android dlopen android-7.0-nougat

3
推荐指数
1
解决办法
3478
查看次数