在此代码中,要求用户从键盘输入一个数字。然后在分割的后期再次使用该变量。
当代码运行时,它会收到
360 /(无论输入什么数字)另外还不是数字。
Perl是否将用户输入解释为字符串而不是数值?
use strict;
use warnings;
use Language::Logo;
print "Enter a number: ";
chomp(my $number = <STDIN>);
my $lo = new Logo(title => "Logo Demonstration");
$lo->command("update 2; color random; pendown; hideturtle");
for ( my $i = 1; $i < 999; $i++ ) {
my $distance = $i / 4;
$lo->command("forward $distance; right 360/$number");
}
$lo->disconnect("Press ctrl+c to exit");
答案 0 :(得分:0)
如果你尝试怎么办?
$lo->command("forward $distance; right " . (360/$number));
如果这不起作用,请尝试强制Perl通过向其添加0来“看到”$ number作为数字:
$rotation = 360 / ($number+0);
$command = "forward $distance; right " . $rotation;
$lo->command($command);
如果这也不起作用,请尝试手动将$命令设置为可以工作的东西,并报告回来。