小编Cav*_*vaz的帖子

python - 检查奇数/偶数并改变数字大小的输出

我有一些问题要解决,我有点卡住了.问题是编写一个程序,让用户输入一个奇数(检查它是奇数),然后根据输入的大小打印一个倒置的星形金字塔.

例如,如果输入5,则会出现

*****
 ***
  *
Run Code Online (Sandbox Code Playgroud)

因此,我的问题是双重的.

1)如何检查它是偶数还是奇数?我试着if number/2 == int希望它可以做某事,而互联网告诉我这样做if number%2==0,但这不起作用.

2)如何更改每行中间的星号?

任何问题的任何帮助非常感谢.

python numbers

59
推荐指数
6
解决办法
36万
查看次数

添加onclick监听器到预定义按钮?

我的xml布局文件中有以下按钮...

<Button
    android:layout_width="150dip"
    android:id="@+id/button1"
    android:layout_height="50dip"
    android:text="@string/login"
    android:layout_marginRight="10dip">
</Button>
Run Code Online (Sandbox Code Playgroud)

我想以编程方式onclick()在其Java文件中添加一个监听器.我该怎么做?

android

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

快速加速

getsnapshot函数需要花费大量时间执行,因为(我猜)每次调用时都会初始化网络摄像头.如果要获取具有高帧速率的图像,则会出现此问题.

我欺骗我随便发现是调用该preview函数,这使得网络摄像头处理程序getsnapshot几乎立即打开,但它保持一个小的预览窗口打开:

% dummy example
cam = videoinput(...);
preview(cam);

while(1)
    img = getsnapshot(cam);
    % do stuff
end
Run Code Online (Sandbox Code Playgroud)

是否有"更清洁"的加速方式getsnapshot?(未打开预览窗口)

matlab image-processing

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

使用模板进行宏扩展

我正在编写几个函数,它们将模板函数的结果作为输入:

int alg1(Vect3) {...}
...
int algN(Vect3) {...}

void main() {
    alg1( mat.topRightCorner<3,1>() )
}
Run Code Online (Sandbox Code Playgroud)

如果您好奇,可以topRightCorner返回 的子矩阵mat,这是来自Eigen的方法,其中维度在编译时已知时作为模板参数放置。

然而,使用宏创建“快捷方式”以在不同算法之间快速切换(因为在实际代码中该函数被多次调用),如下所示

#define ALG(X)    ( algN(X) )

ALG( mat.topRightCorner<3,1>() )
Run Code Online (Sandbox Code Playgroud)

给出一个错误,因为宏被正确扩展但不知何故被误解为使用两个不同的参数,mat.topRightCorner<3并且1>().

用括号将输入包裹起来就可以了,但为什么会出现这种行为呢?

c++ macros templates

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

两个卷积滤波器的组合

什么是一个滤镜矩阵相当于使用参数'full'的imfilter在图像上应用[1 1 1]两次?它仍然是1x3矩阵吗?

matlab convolution

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

如何翻转bash的标准输出?

我有一个在后台运行的脚本打印一些输出.我将标准输出重定向到文件以用于日志目的.但是我不希望这个文件永远增长,如果没有自己编写逻辑,那么滚动的好方法是什么?(根据日期或文件大小进行翻转).

bash shell scripting file-io logging

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

检测到字符串后退出 tail

我正在编写一个屏障来阻止脚本的执行,直到记录某个关键字为止。该脚本非常简单:

tail -F -n0 logfile.log | while read LINE; do
    [[ "$LINE" == *'STOP'* ]] && echo ${LINE} && break;
done
Run Code Online (Sandbox Code Playgroud)

或者

tail -F -n0 logfile.log | grep -m1 STOP
Run Code Online (Sandbox Code Playgroud)

问题是它不会在检测到关键字后立即退出,而是仅在写入下一行后才退出。IE:

printf "foo\n"  >> logfile.log  # keeps reading
printf "foo\n"  >> logfile.log  # keeps reading
printf "STOP\n" >> logfile.log  # STOP printed
printf "foo\n"  >> logfile.log  # code exits at last
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不能依赖这样一个事实:在“STOP”之后将记录另一行(至少不在对我的目的有用的间隔内)。

到目前为止找到的解决方法是tail另一个我确信会经常更新的文件,但是“干净”的解决方案是什么,以便代码在记录STOP后立即退出?

bash pipe tail sh process-substitution

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

Matlab地板虫?

我想我在Matlab中发现了一个错误.我唯一的解释是,matlab内部计算的值不是显示的值:

K>> calc(1,11)

ans =

   4.000000000000000

K>> floor(ans)

ans =

     3
Run Code Online (Sandbox Code Playgroud)

显示的代码是Matlab控制台的输出.calc(x,y)只是一个double值数组.

floating-point precision matlab rounding

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