我想讓一個程序女巫給用戶一個隨機的數學問題和答案,但如果我嘗試將操作符存儲在我的數組中而不會出現字符串,但是當我想讓程序解決問題時會導致問題,因爲操作符被忽略,並且兩個數字加在一起。請幫忙!?!使用一個算術字符串中的操作符
#!/usr/bin/perl
use strict;
use warnings;
sub randomNumber #generates a random number (1-100)
{
my $randomNumber = int(rand(100)) + 1;
return "$randomNumber\n";
}
sub operators #randomly chooses a operator
{
my @list = ("+" , "-" , "/" , "*");
my $index = rand(@list);
return $list[$index];
}
sub question{
my $firstNumber = randomNumber();
my $operater = operators();
my $secondNumber = randomNumber();
print $firstNumber.$operater.$secondNumber."\n";
print $firstNumber + $operater + $secondNumber; #this is the problem line
}
question();
Here is a screenshot of the code when run:
感謝這裏的幫助,是我對未來的讀者最終實現:
#!/usr/bin/perl
use strict;
use warnings;
sub randomNumber
{
my $randomNumber = int(rand(100)) + 1;
return $randomNumber;
}
sub randomOperator
{
my @operators = ("+" , "-" , "/" , "*");
my $index = rand(@operators);
return $operators[$index];
}
sub question{
my $firstNumber = randomNumber();
my $operator = randomOperator();
my $secondNumber = randomNumber();
print "$firstNumber $operator $secondNumber =";
my $userAnswer = <STDIN>;
my $trueAnswer = eval "$firstNumber $operator $secondNumber"; #gets answer
if ($userAnswer == $trueAnswer)
{
return 1;
}
else
{
return 0;
}
}
print question();