Perl 中的倒金字塔设计
Reversed Pyramid Design in Perl
我需要输入多行和一个字符以用于反向 pyramid.The 输出必须如下所示:
Maximum number of characters in a line : 6
Enter Echo Character : $
$$$$$$
$$$$$
$$$$
$$$
$$
$
这是我目前拥有的:
print "Maximum number of characters in a line : ";
$size = <>;
print "Enter Echo Character : ";
$character = <>;
chomp($size);
Loop: for $row (1 .. $size)
{
for $column (1 .. ($size+1))
{
if ($column < $row)
{
print "\n";
next Loop;
}
print $character;
}
}
但我肯定做错了什么,因为在尝试了几个小时后我无法获得我需要的输出。我是 Perl 的新手,非常感谢我能得到的任何帮助。
KMBP:Assignment 13 mypc$ perl pyramidtest.pl
Maximum number of characters in a line : 6
Enter Echo Character : $
$
$
$
$
$
$
$
KMBP:Assignment 13 mypc$
如果你想要一个 reverse 金字塔,你为什么要从 1 .. $size
设置 $row
?
为什么要将 $column
的范围末尾设置为 $size + 1
而不是 $row
?
为什么你有某种奇怪的逻辑来确定何时打印换行符?
use strict;
use warnings;
print "Maximum number of characters in a line : ";
chomp(my $size = <>);
print "Enter Echo Character : ";
chomp(my $character = <>);
while ($size) {
for (1 .. $size) {
print $character;
}
print "\n";
$size--;
}
注意:您可能想要验证 $size
是一个正整数,否则您可能会得到某些输入的意外结果!
x
运算符对此也很有用。
use feature qw(say);
print 'character? ';
chomp(my $char = <STDIN>);
print 'length? ';
chomp(my $length = <STDIN>);
while ($length) {
say $char x $length;
$length--;
}
我需要输入多行和一个字符以用于反向 pyramid.The 输出必须如下所示:
Maximum number of characters in a line : 6
Enter Echo Character : $
$$$$$$
$$$$$
$$$$
$$$
$$
$
这是我目前拥有的:
print "Maximum number of characters in a line : ";
$size = <>;
print "Enter Echo Character : ";
$character = <>;
chomp($size);
Loop: for $row (1 .. $size)
{
for $column (1 .. ($size+1))
{
if ($column < $row)
{
print "\n";
next Loop;
}
print $character;
}
}
但我肯定做错了什么,因为在尝试了几个小时后我无法获得我需要的输出。我是 Perl 的新手,非常感谢我能得到的任何帮助。
KMBP:Assignment 13 mypc$ perl pyramidtest.pl
Maximum number of characters in a line : 6
Enter Echo Character : $
$
$
$
$
$
$
$
KMBP:Assignment 13 mypc$
如果你想要一个 reverse 金字塔,你为什么要从 1 .. $size
设置 $row
?
为什么要将 $column
的范围末尾设置为 $size + 1
而不是 $row
?
为什么你有某种奇怪的逻辑来确定何时打印换行符?
use strict;
use warnings;
print "Maximum number of characters in a line : ";
chomp(my $size = <>);
print "Enter Echo Character : ";
chomp(my $character = <>);
while ($size) {
for (1 .. $size) {
print $character;
}
print "\n";
$size--;
}
注意:您可能想要验证 $size
是一个正整数,否则您可能会得到某些输入的意外结果!
x
运算符对此也很有用。
use feature qw(say);
print 'character? ';
chomp(my $char = <STDIN>);
print 'length? ';
chomp(my $length = <STDIN>);
while ($length) {
say $char x $length;
$length--;
}