小编Sau*_*ava的帖子

在Perl中,如何循环变量名?

我有N数组,我想在单个for循环中打印它们的第一个元素

我的代码:

@arr1=qw(1..5);
@arr2=qw(6..10);
...
@arrN=qw(...);
for($i=1;$i<=$N;$i++)
{
print "$arr[$i][0]";
}
Run Code Online (Sandbox Code Playgroud)

perl for-loop

0
推荐指数
1
解决办法
638
查看次数

PERL for循环中$ _的下一个元素是什么

我想比较2个连续的循环元素

@arr=qw(1 2 3 3 4);
foreach(@arr)
{
if($_ == $_+1)
  {
  print "yes";
  }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我应该使用什么而不是$ _ + 1

perl

0
推荐指数
1
解决办法
281
查看次数

通过sys.exit()防止脚本关闭

我需要每5分钟调用一个脚本(test.py),所以我使用了另一个脚本timer.py和以下代码:

import time
while(1==1):
    execfile("test.py")
    time.sleep(300)
Run Code Online (Sandbox Code Playgroud)

这工作正常.但经过几次迭代后它停止了工作.调试后我发现test.py中有一个流程,它使用以下代码:

sys.exit()
Run Code Online (Sandbox Code Playgroud)

因此,这会导致test.py和timer.py停止.应该做什么更改,以便继续timer.py,因为我希望sys.exit()只退出test.py而不是timer.py

python python-2.7

0
推荐指数
1
解决办法
932
查看次数

如何在python中使用名称中的变量

我正在设计一个python游戏.假设我有5个级别和一个变量m.如果我在1级,如果我在2级,m将是101,m将是102,依此类推

现在,我还有一个所有级别的最佳得分变量,比如b_101,b_102,b_103,b_104,b_105.最初都设为0.

现在玩的时候我有一个变量current_score.我想在满足某些条件时更新最佳分数.

if(condition met):
   global m
   update_score(m)

def update_score(m):
    if(m==101):
        b_101=current_score
    elif(m==102):
        b_102=current_score
    elif(m==103):
        b_103=current_score
    elif(m==104):
        b_104=current_score
    elif(m==105):
        b_105=current_score
Run Code Online (Sandbox Code Playgroud)

实际上,我可能有100个级别,我希望我的update_score函数很小,如果没有其他行,则不要写100.

我希望它是这样的:

def update_score(m):
    b_{m}=current_score
Run Code Online (Sandbox Code Playgroud)

我知道上面的代码不正确,但我想要基于m更新b_xxx.它是否可能在python中.

在perl中,它可以完成

${'b_'.$m} = $current_score;
Run Code Online (Sandbox Code Playgroud)

python

-7
推荐指数
1
解决办法
105
查看次数

标签 统计

perl ×2

python ×2

for-loop ×1

python-2.7 ×1