【发布时间】:2015-10-04 01:21:03
【问题描述】:
到目前为止,我已经能够正确打印数字,但我不知道如何循环它们。
puts "Please enter a number"
val1 = gets.to_i
val2 = val1 % 3
val3 = val1 % 5
def ordinal(a,b,c)
if b == 0 && c == 0
return "foobar"
elsif b == 0
return "foo"
elsif c == 0
return "bar"
else
return a
end
end
val5 = ordinal(val1,val2,val3)
puts "#{val5}"
我还制作了一个有效的循环,但它无法识别字符串。
n = 0
x = gets.to_i
while n != x
puts "#{n}"
n = n + 1
end
如何组合我的方法和循环?或者有没有其他方法可以解决这个问题?但我更喜欢你用我的代码解决它,如果它有任何好处,这样我就能更好地理解它。
【问题讨论】:
-
我已经能够像这样正确地得到答案,但它是不完整的,直到我可以将它放入一个循环中,以便相应地打印用户输入的位数:puts“请输入一个number" val1 = gets.to_i val2 = val1 % 3 val3 = val1 % 5 def ordinal(a,b,c) if b == 0 && c == 0 return "foobar" elsif b == 0 return "foo" elsif c == 0 return "bar" else return a end end val5 = ordinal(val1,val2,val3) puts "#{val5}"
-
你的代码是什么样的?我们不会为你做作业。
-
puts "请输入一个数字" val1 = gets.to_i val2 = val1 % 3 val3 = val1 % 5 def ordinal(a,b,c) if b == 0 && c == 0 return "foobar" elsif b == 0 return "foo" elsif c == 0 return "bar" else return a end end val5 = ordinal(val1,val2,val3) puts "#{val5}"
-
所以你想让我们帮你做作业吗?这不好。我们是一个社区,而不是一个众包外包网站......话虽如此,请查看
Integer#times,这对于def foo_bar(n); n.times {|i| out = i.to_s; out = "Something" if condition; ... print " #{out}" }; end;的解决方案可能很有用 -
提出好问题的提示:在第一次编辑中添加您的代码,不要要求完整的解决方案,不要在问题或 cmets 中乞求(PLZ 帮助我),并且避免txtspk 如果可以的话。总的来说,在 Stack Overflow 上,人们将提供的帮助与他们在问题中看到的努力成正比。
标签: ruby math testing functional-programming division