我告诉这个程序循环三次,给输入添加x次,从零开始包括零。它的目的是每次询问时用零替换任何一个数字。 它应该从零开始并计算三个数字,而不是告诉它用零替换任何数字它应该如下所示:012 对于5个循环并替换第四个循环上的数字,它应该如下所示:01204 你应该能够用零替换数组01234567中的任何数字,当然除了第一个数字是0之外。
#!/usr/bin/perl
#failed experiment
my $savenewvalues;
my $loop = 0;
my @values = (0);
my $indexzero = @numbers[0];
print "how many times to loop\?\n";
my $count = <>;
while ($loop lt $count){
################### increment count
$savenewvalues = $#values + 1; #position at end of array
$values[$savenewvalues] = $#values + 1; #incremented number value placed at end of array
###################
if ($count == 0){
push (@values, $indexzero);
}
else{
print "one to add next value zero to place zero in instead\n";
my $advent = <>;
if ($advent == 0){
push (@values, $indexzero);
}
else {
push (@values, $loop);
}
}
$loop++;
}
print @values;
exit
这导致01031527作为@values的值 我试过的另一种方式是:
#!/usr/bin/perl
#failed experiment
my $savenewvalues;
my $count = 0;
my @values = (0);
my $indexzero = @numbers[0];
my $initial = $indexzero + 1;
print "how many times to loop\?\n";
my $loop = <>;
while ($loop gt 0){
################### increment count
$savenewvalues = $#values + 1; #position at end of array
$values[$savenewvalues] = $#values + 1; #incremented number value placed at end of array
###################
if ($count == 0){
push (@values, $initial);
}
else{
print "one to add next value zero to place zero in instead\n";
my $advent = <>;
if ($advent == 0){
push (@values, $indexzero);
}
else {
push (@values, $count);
}
}
$count++;
$loop--;
}
print @values;
exit
这导致类似的东西:来自@values的<0113152
这些结果很奇怪,因为它们似乎有点连续,即如果你替换它可以数到6的几个值,但是我只想要那个程序的三个值,即012,它给了我七个。 / p>
我试着写一个完全混乱的程序,它在每个第二个位置给我零,即010305或重复数字01133 [除零]但我宁愿不讨论。
我想我已经越来越近了,但尝试解决这个问题并不是很有趣。