Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较并从下一个3值中减去当前值_Python_Perl - Fatal编程技术网

Python 比较并从下一个3值中减去当前值

Python 比较并从下一个3值中减去当前值,python,perl,Python,Perl,给定值数组,例如1,3,4,7,8,8,9,9,当前值为7,我想查看7-4,8-7,8-7,9-7,9-7的结果 下面是伪代码。我试过了,但我被卡住了: sub func { my @arr = (1,3,4,7,8,8,9,9); my @arr1; foreach my $i (0..$#arr) { push (@arr1,$arr[$i]); if ($current_value =~ 7)

给定值数组,例如1,3,4,7,8,8,9,9,当前值为7,我想查看7-4,8-7,8-7,9-7,9-7的结果

下面是伪代码。我试过了,但我被卡住了:

sub func
{ 
    my @arr = (1,3,4,7,8,8,9,9);
    my @arr1;
    foreach my $i (0..$#arr) 
    {        
        push (@arr1,$arr[$i]);
        if ($current_value =~ 7) 
        {  
            my $brk= (scalar @arr1) -1;
            for (my $counter = (scalar @arr1); $counter >= $brk ;$counter--) 
            {                        
                if($arr1[$counter] < $current_value)
                {
                    print $current_value - $arr1[$counter];
                }
                else
                {
                    next;
                }
            }          
        }
        else
        {
            next;        
        }    
    }  
}
子函数
{ 
my@arr=(1,3,4,7,8,8,9,9);
我的@arr1;
每个我的$i(0..$#arr)
{        
推送(@arr1,$arr[$i]);
如果($current_value=~7)
{  
my$brk=(标量@arr1)-1;
对于(my$counter=(scalar@arr1);$counter>=$brk;$counter--)
{                        
如果($arr1[$计数器]<$当前值)
{
打印$current_值-$arr1[$counter];
}
其他的
{
下一个
}
}          
}
其他的
{
下一个
}    
}  
}

我将问题分为几个步骤:

  • 查找值索引。如果给定索引,则可以跳过此步骤
  • 使用其下的一个或多个值计算减法
  • 用上面的一个或多个值计算减法

  • 请注意,您的跑步应该只基于指数,而不是数值。

    I比较了当前值和以前的值。我的下一个任务是将当前值与下三个值进行比较。我不理解您的目标算法。请详细说明这一点,以便我们能够帮助您找到解决方案。我是perl新手,让我来指导任何人。因此,如果给定不同的值数组,如1,3,4,7,8,8,8,9,9,当前值为7,那么您将希望看到7-4,8-7,8-7,9-7,9-7?是的,这就是逻辑。