【发布时间】:2017-06-29 10:57:51
【问题描述】:
编码新手并试图弄清楚如何评估用户输入是大于 0 的浮点数还是整数,如果不是,则继续提示他们做出响应,直到他们给我一个符合此标准的响应。
我已经能够想出以下方法来帮助我将有效响应(数字 > 0)与无效响应(字符串或数字
input = "How much money do you have?"
print input
money_1 = gets.chomp.to_f
if money_1 > 0
puts "You have $#{money_1}."
else
puts "Please enter a valid amount"
print input
end
我想不通的是如何把它变成一个循环,这样用户就必须不断输入响应,直到他们输入一个大于 0 的数字。
有什么建议吗?似乎这应该是一个显而易见的答案,但经过几个小时的挖掘和尝试,我还没有找到任何有效的方法。
我也很想知道是否有比我的解决方法更简单的方法来评估用户输入是浮点数还是整数还是字符串,然后不断提示他们做出响应,直到他们给我浮点数或整数。问题是我需要将他们的输入转换为浮点数,以便能够在代码后面的方程式中使用它,这就是为什么我想出这个解决方法的原因,因为我认为任何字符串都会被转换为 0,而我真的只是寻找大于 0 的数字,但如果有更好的方法我很乐意学习它!
谢谢!
【问题讨论】:
-
如果您发现任何有用的答案,请务必通过单击相应的“灰色勾号”使其变为绿色来“接受”答案。
标签: ruby string loops input integer