perl - Perl 如果带有“+”、“-”、“*”、“/”
问题描述
我有这个代码:
print ("First Value: ");
$valor1 = <STDIN>;
print ("Second Value: ");
$valor2 = <STDIN>;
print ("Operator: ");
$op = <STDIN>;
if ($op == "+")
{
$total = $valor1 + $valor2;
print ($total);
}
elsif ($op == "-")
{
$total = $valor1 - $valor2;
print ($total);
}
elsif ($op== "*")
{
$total = $valor1 * $valor2;
print ($total);
}
elsif ($op == "/")
{
$total = $valor1 / $valor2;
print ($total);
}
他正确阅读了所有内容,但是当他输入条件时,如果用户键入“-”、“/”或“*”,他总是输入第一个条件并求和,我想知道原因。
解决方案
总是 use strict;
和use warnings;
。
这会给你警告:
在 test.pl 第 9 行第 3 行的数字 eq (==) 中,参数“+”不是数字。
这就是为什么你会得到你不期望的行为。
您应该使用eq
(并考虑输入中的换行符)。
推荐阅读
- c# - 如何使用 dotnet 核心控制器从 Azure 存储中正确地为文件提供服务?
- typescript - Type-GraphQL BuildSchemaOptions 不接受属性
- mysql - 如何使用 id 列的名称从 mysql 获取值
- c# - TreeView 文本长度节点截断
- python - 为 Jupyter Notebook 设置 Pyspark:worker 和驱动程序 python 版本不匹配?
- javascript - 使用 jQuery UI 获取“类型错误:$(...).autocomplete is not a function”错误
- javascript - 使用 JS 将两个父级的子元素连接/连接在一起
- java - 将 Spring Security 实施到项目后在单元测试中出错
- oracle-cloud-infrastructure - 如何使用 python oci 将所有 ip 附加到计算
- mongodb - 如何在一个数组中有多个嵌套数组