创建一个计算学生费用的Ruby程序 我需要让学生回答问题,例如"你是州居民","想要停车贴纸?"并且代码将根据用户输入执行。
但我在选择是/否选择部分时遇到问题。任何用户输入只会被选择为否。我不知道为什么会发生这种情况。谢谢。
puts "Are you a state resident[0] or not[1]:"
resident = gets
resident = resident.to_i
case resident
when 0
enrollment_fee = 46.00
when 1
enrollment_fee = 335.00
end
puts "'enrollment_fee' + #{enrollment_fee}"
puts "Want a parking decal? [y/n]:"
parking = gets
parking = parking.to_s
puts parking
if parking == 'y'
case semester
when 0,2
parking_decal = 85
when 1,3
parking_decal = 45
end
else parking == 'n'
parking_decal = 0.00
结束
答案 0 :(得分:1)
gets
返回用户的输入,包括换行符。因此,输入将与'y'
或'n'
不匹配。要在gets
之后立即删除跟踪换行符chomp
:
puts "Want a parking decal? [y/n]:"
parking = gets.chomp
顺便说一下。 else parking == 'n'
没有达到您的预期。它是elsif parking == 'n'
或else
。