-1
對於下面的代碼,我試圖在foreach語句中包含另一個循環。 我有兩個列表。 第一個「項目」是我的列表,我檢查元素是否爲零。 第二個列表「varis」是我的列表,其值保存爲值不爲零的情況。如何在Perl中將循環集成到另一個循環中
我想檢查我的列表「item」中的值是否爲零,如果是這樣,則將元素設置爲零。 如果未將第一個元素的值設置爲列表varis中列出的第一個值。 第二個元素也一樣。如果第二個元素不爲零,則將該值設置爲varis中列出的第二個值,依此類推。 到目前爲止,我用foreach語句來檢查我的「item」列表中的元素。 但是我不知道如何去關於我的第二個列表。 我正在考慮將第二個循環集成到我的foreach語句中。 但我不知道如何。
$sums = (2+4+5+6+5+10+4);
my @item=(0,50,5,3,5,15,0);
$sum = 0;
my @varis = (2,4,5,6,5,10,4);
foreach my $item(@item){
if ($item==0) {$item=0} # if element in item is zero set element as zero
else {$item=$varis;} # else for element in @item set the value as the first element in @varis, for the second element (if it's not zero) in @item add the second element and so on
$sum = $sum + $item; # sum all the values
}
$result = $sums/$sum;
print "$result\n";
非常感謝您!更長的解決方案工作。我只是從項目中刪除了,並且代碼完美運行。 – LyChn
相反,您應該將's'添加到現有變量中。如果你爲你的收藏使用複數,它最終會減少混淆。 – ikegami
謝謝你的建議!我會改變這一點 – LyChn