在教研室用Python比较多,大概翻看了一下Ruby的语法规则,发现和Python还是有很多相似之处的。所以,虽然暂时还没有很系统的学习Ruby,但先看了看作业,大概思考了一下FizzBuzz这道编程题的思路,总结了一下完成这道作业应该会用到Ruby的这些语法及数据类型:
- 方法
- 循环
- 条件判断
- 数组类型
- 算术运算符(求模)
所以,先去查了查上面这些在Ruby中的用法,然后完成了编程作业。
大概思路为:
1、用数组res
存放最终转换之后的结果;
2、循环处理每一个数字:
先判断是否为3的倍数。若是,则再判断是否为5的倍数,若是则表明为15的倍数,那么在res
数组中加入字符串"FizzBuzz",若不是5的倍数,则说明该数仅为3的倍数,那么在res
数组中加入字符串"Fizz";
若不是3的倍数,再判断该数是否为5的倍数。若是,那么在res
数组中加入字符串"Buzz";若不是,则该数既不是3的倍数也不是5的倍数,那么在res
数组中加入该数字的字符串形式。
代码:
#!/usr/bin/ruby
def fizzbuzz(n)
res = []
for i in 1..n
if i%3==0
if i%5==0
res << 'FizzBuzz'
else
res << 'Fizz'
end
elsif i%5==0
res << 'Buzz'
else
res << String(i)
end
end
return res
end
因为是第一次接触Ruby,不清楚它的语法表示。因此,在完成作业的过程中,有查一些Ruby的编程基础,已经写了相应的博客,博客中仅记录了本次作业中用到的一些知识,所以涉及到的知识点都比较浅,如下:
网友评论