我有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) 我想比较2个连续的循环元素
@arr=qw(1 2 3 3 4);
foreach(@arr)
{
if($_ == $_+1)
{
print "yes";
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我应该使用什么而不是$ _ + 1
我需要每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游戏.假设我有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)