Ruby编程实践:常见问题与解决方案

1、编写一个程序,计算一年有多少小时。

实现该功能的 Ruby 代码如下:

# depends on if it's a leap year
puts 24*365
puts "(or #{24*366} on a leap year)"

上述代码会输出平年的小时数,同时提示闰年的小时数。

2、编写一个程序,计算出十年中有多少分钟。

以下是两种实现方式:

  • 可能的实现方式

ruby puts 60*24*(365*10 + 2)

输出结果为: 5258880

  • 推荐的实现方式

ruby puts "#{60*24*(365*10 + 2)} or #{60*24*(365*10 + 3)}"

输出结果为: 5258880 or 5260320

3、编写一个程序,计算并输出一个人从出生到现在有多少秒。

你可以这样做: puts 60*60*24*365*44
我会这样做: puts(Time.new - Time.gm(1976, 8, 3, 13, 31))

4、如果我已经活了13.9亿秒,我多少岁了?

13.9亿秒 = 1390000000秒,  
1年按365天算,  
1天 = 24小时,  
1小时 = 3600秒,  
那么1年的秒数为365 × 24 × 3600 = 31536000秒。  

则  
1390000000 ÷ 31536000 ≈ 44.07岁,  
四舍五入后约为44岁。

5、编写一个程序,先询问一个人的名字,再询问中间名,最后询问姓氏。最后,程序用全名向这个人打招呼。

以下是两种实现方式的代码:

方式一:

puts "What is your first name?"
f_name = gets.chomp
puts "What is your middle name?"
m_name = gets.chomp
puts "What is your last name?"
l_name = gets.chomp
full_name = f_name + " " + m_name + " " + l_name
puts "Hello, " + full_name + "!"

方式二:

puts "What's your first name?"
f_name = gets.chomp
puts "What's your middle name?"
m_name = gets.chomp
puts "What's your last name?"
l_name = gets.chomp
puts "Hello, #{f_name} #{m_name} #{l_name}."

6、编写一个程序,询问一个人的最喜欢的数字。让程序将这个数字加 1,然后建议这个结果作为一个更大更好的最喜欢的数字。

以下是两种实现方式:

方式一:

puts "Hey! What's your favorite number?"
fav_num = gets.chomp.to_i
better_num = fav_num + 1
puts "That's ok, I guess, but isn't #{better_num} just a bit better?"

方式二:

puts "Hey! What's your favorite number?"
fav_num = gets.chomp.to_i
puts "That's ok, I guess, but isn't #{fav_num + 1} just a bit better?"

7、编写一个愤怒老板程序,该程序无礼地询问你想要什么。无论你回答什么,愤怒的老板都应该冲你大喊你说的内容,然后解雇你。

以下是两种实现方式的代码:

方式一:

puts "CAN'T YOU SEE I'M BUSY?! MAKE IT FAST, JOHNSON!"
request = gets.chomp
puts "WHADDAYA MEAN #{request.upcase}?!? YOU'RE FIRED!!"

方式二:

names = ["johnson", "smith", "weinberg", "filmore"]
puts "CAN'T YOU SEE I'M BUSY?! MAKE IT FAST, #{names[rand(4)].upcase}!"
request = gets.chomp
puts "WHADDAYA MEAN #{request.upcase}?!? YOU'RE FIRED!!"

8、编写一个程序来显示一个目录表,目录表标题为 ‘Table of Contents’,包含章节 ‘Numbers’ 位于第 1 页、’Letters’

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值