Ruby while循环与数学
我正在一个关于“while”循环的实验课上工作。这就是目标:Ruby while循环与数学,ruby,Ruby,我正在一个关于“while”循环的实验课上工作。这就是目标: 创建一个变量并将其设置为true 而您刚才创建的变量为true 提示用户输入号码 读入数字 计算两倍于这个数字 显示双倍的数字 如果用户希望再次访问,则提示用户 读那篇课文 如果文本输入为“n”,则将true变量设置为false 这是我的代码: puts "Enter a number" x = Float(gets.chomp()) product = x * 2 puts "Double your number is" pu
- 创建一个变量并将其设置为true
- 而您刚才创建的变量为true
- 提示用户输入号码
- 读入数字
- 计算两倍于这个数字
- 显示双倍的数字
- 如果用户希望再次访问,则提示用户
- 读那篇课文
- 如果文本输入为“n”,则将true变量设置为false
puts "Enter a number"
x = Float(gets.chomp())
product = x * 2
puts "Double your number is"
puts product
while
puts "Go again y/n?"
answer = gets.chomp
if answer != 'y'
end
end
说明似乎很清楚,但我不明白如何将其转化为代码
任何修改都会有所帮助。您需要有一个布尔标志来检查每个循环的while级别:
again = true
while again
puts "Enter a number "
x = Float(gets.chomp())
product = x * 2
puts "Double your number is"
puts product
puts "Go again y/n? "
again = gets.chomp != 'n'
end
提示#1:“创建一个变量并将其设置为true。”提示#2:“当变量为true时”。请参阅如何正确编写while循环。提示#3:所有“while the variable is true”应该发生的事情都需要进入while循环。请注意,在Ruby中,样式通常是
x=gets.chomp.to_f
其中省略了空参数列表,并使用Float()等强制转换“斯特凡”在C++、PHP和其他人中编写“代码>(浮点)x<代码> >,其中代码<代码> x>代码>转换为<代码>浮点。当然,有些人认为Ruby中的等价物应该是Float(x)
,因为就语法而言,这是最接近的,但实际上是x。换句话说,任何能够处理.to\f
调用的对象都是可接受的值,而不一定是能够很好地处理Float
的对象。可以始终循环执行。。。结束
,然后在回答为“y”时中断。但是需求需要一个布尔变量。if answer='n'
将与需求更紧密地匹配。如果是这样的话,可以再次执行=answer='n'
,在这种情况下不需要if
。这是一个XY问题,所以不要害怕找到问题的根源。@tadman,好提示!更新。PS:它应该检查!='n'
再次循环。