ruby - 在同一行接收值
问题描述
我需要在同一行中接收三个值,将其中两个值相乘后,我的程序在第三次输入后停止并返回零。
code_product_1, units_product_1, price_product_1 = gets.split(' ')
code_product_2, units_product_2, price_product_2 = gets.split(' ')
total = (units_product_1.to_i * price_product_1.to_f) + (units_product_2.to_i * price_product_2.to_f)
puts "VALOR A PAGAR: R$ #{'%.2f' % total}"
问题描述:
在这个问题中,任务是读取产品 1 的代码,产品 1 的单位数量,产品 1 的单位价格,产品 2 的代码,产品 2 的单位数量和价格1 件产品 2. 之后,计算并显示要支付的金额。
输入 输入文件包含两行数据。每行将有 3 个值:两个整数和一个小数点后 2 位的浮点值。
输出 输出文件必须是类似于以下示例的消息,其中“Valor a pagar”表示要支付的价值。记住“:”和“R$”符号后面的空格。该值必须在点后以 2 位数字表示。
编辑:输入和输出样本
输入样本
- 12 - 1 - 5.30
- 16 - 2 - 5.10
输出样本
- VALOR A PAGAR:15.50 雷亚尔
编辑2:
解决方案
total
是零,因为从用户那里收集的一些值是nil
。
为了total
免于计算nil
,您需要从用户那里收集两条数据,每条数据都可以split
分为三个值。
这是一个例子:
irb> code_product_1, units_product_1, price_product_1 = gets.split(' ')
1 2 3
=> ["1", "2", "3"]
irb> code_product_1
=> "1"
irb> units_product_1
=> "2"
irb> price_product_1
=> "3"
对你的_2
输入做同样的事情,然后你就可以完成你的总计算。
注意:这不包括输入或输出文件。问题中提到了这一点,但共享的代码要求用户使用gets
.
推荐阅读
- android - kotlin 协程流中的并发
- postgresql - 是否可以使用带有 npgsql 的 EF CORE 3.1 中的 UNACCENT 扩展为 postgresql 进行选择?
- java - 为什么即使将目录设置为只读,Files.isWritable() 方法也会为目录返回 true?
- javascript - JQuery:图像上的 Onload 事件不起作用
- python - 无法从 Python 连接到 Snowflake
- itext7 -
- java - 使用 CameraX 的应用程序崩溃:java.lang.IllegalArgumentException
- python - 熊猫找到具有特定值的几行
- javascript - 如何在javascript中将对象属性字符串转换为整数
- solr - Solr Searcher OOM ,但不会使服务崩溃,也不会重新启动