作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想做的是告诉你他们还有多少年才到 21。我一直在努力想,但没有想到。
这是我的代码:
#!/usr/bin/env ruby
under_age = 21
print "What is your first name? "
first_name = gets.chomp
print "What is your last name? "
last_name = gets.chomp
print "What is your age? "
user_age = Integer(gets.chomp)
if user_age < legal_age
print "You may not continue"
else if > 21
print "Welcome!"
最佳答案
你在开始时设置了这个:
under_age = 21
但是你不使用它,你使用 legal_age
我想如果你将第一行更改为
legal_age = 21
然后删除最后一个小于:
if user_age < legal_age
years_to_wait = 21 - user_age
print "You may not continue, come back in #{years_to_wait} year#{years_to_wait > 1? 's' : ''} "
else
print "Welcome!"
end
我在那里添加了一点,您可能还没有了解 Ruby 的新手。只是要清楚:
#{years_to_wait}
在双引号字符串 ("vs ') 中作为变量的值打印出来。如果变量为 1,则响应将是单数 "year",如果大于 1,它将是复数“年”。我使用了 if/then/else 的非常紧凑的版本来使其干净(称为三元运算符)。
第一部分是比较,然后是?对于隐含的“如果”
years_to_wait > 1?
后跟返回值,如果为真,则为字符“s”,然后为“:”,如果为假,返回值为无字符“”。当插值发生时,这让我们得到了单词“year(s)”的正确版本。
关于ruby - 如何告诉用户他们还剩多少年才 21 岁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37064040/
我是一名优秀的程序员,十分优秀!