gpt4 book ai didi

perl - 在我的 while 循环中,值没有被存储

转载 作者:行者123 更新时间:2023-12-02 21:48:53 25 4
gpt4 key购买 nike

在以下示例中,@DAYS 是一月中的第几天,@DAYS_SINCE_RAIN 中的条目对应于 @DAYS 中的条目,例如$DAYS_SINCE_RAIN[4] 是自 $DAYS[4] 上次下雨以来的天数。

@DAYS_SINCE_RAIN 中,下雨的一天的值为 0。我想要 0 出现的最后一个实例。

#iii. Find the last day of rain in April 2013.
print "#iii. Find the last day of rain in April 2013.\n";
$i=0;
@getday=();

while(@DAYS_SINCE_RAIN[$i]=~ m/0/){
push @getday, @DAY[$i];
$i++;
if($i=$#DAYS_SINCE_RAIN){
last;
}
};

print "@DAYS_SINCE_RAIN";
print "\n day of last rain: @getday[$i] ";

似乎没有存储任何值:(

最佳答案

您在这里使用的是赋值运算符而不是比较:

if($i=$#DAYS_SINCE_RAIN){

= 更改为 ==

除此之外,循环:

while(@DAYS_SINCE_RAIN[$i]=~ m/0/){

第一天没有下雨就退出。您可以采取稍微不同的方法,从最后开始并返回:

my $i = $#DAYS_SINCE_RAIN;

while ($i >= 0) {
last if $DAYS_SINCE_RAIN[$i] == 0;
$i--;
}

print "\n day of last rain: $DAYS[$i] ";

关于perl - 在我的 while 循环中,值没有被存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com