我希望輸出顯示哪些數字是偶數,哪些是奇數。奇怪的是,我只得到了100 is odd100 次。有誰知道我做錯了什么?
my @zahlen = (1..100);
my $zahlen = @zahlen;
foreach (@zahlen){
if (@zahlen % 2) {
print "$zahlen is even\n";
} else {
print "$zahlen is odd\n";
}
}
uj5u.com熱心網友回復:
您在錯誤的地方使用了錯誤的變數。你設定$zahlen為回圈外的常數值 (100)。您可以將其用作回圈迭代器變數。
此外,您應該在陳述句中使用標量$zahlen而不是陣列。@zahlenif
use warnings;
use strict;
my @zahlen = (1 .. 10);
foreach my $zahlen (@zahlen) {
if ($zahlen % 2) {
print "$zahlen is odd\n";
}
else {
print "$zahlen is even\n";
}
}
列印(我將 100 更改為 10 以簡化輸出):
1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even
uj5u.com熱心網友回復:
代碼可以寫成更簡潔的替代形式
use strict;
use warnings;
use feature 'say';
my @zahlen = (1 .. 10);
say "$_ is " . (($_ % 2) ? "odd" : "even") for @zahlen;
輸出
1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/475687.html
標籤:perl
