puts("This program is intended to tell you your letter grade, and if you passed or")
puts("failed.")
puts
print("What was your grade for the class you are testing for?: ")
grade = Integer(gets)
puts
print("What was the name of the class?: ")
class = gets
class = class.chomp
puts
if grade >= 90
puts
puts("You passed!")
puts
puts("Your letter grade for " + class + " is an A!")
elsif grade >= 80
puts
puts("You Passed")
puts
puts("Your letter grade for " + class + " is a B.")
elsif grade >= 70
puts
puts("You Passed")
puts
puts("Your letter grade for " + class + " is a C.")
elsif grade >= 60
puts
puts("You Failed...")
puts
puts("Your letter grade for " + class + " is a D.")
elsif grade < 60
puts
puts("You Failed...")
puts
puts("Your letter grade for " + class + " is a F...")
else
puts
puts("It is not possible to get a negative grade. Please try again.")
end
这是为了吸引用户输入,告诉用户他们是否通过或失败,以及他们的字母等级。
错误主要是“语法错误,意外的一元+”,“=”或“)”
答案 0 :(得分:1)
首先,将class
变量的名称更改为与class_name
稍微不同的内容,以防止以后发生奇怪的事情,您希望将其用于更多内容。
一元表达式只能使用one operand.“一元错误”很可能是由于您使用puts
符号向+
函数提供字符串参数的方式单独的操作数,尝试将字符串保存在变量中,然后将其作为参数传递给puts。
示例:
grade_a_announcement = "Your letter grade for " + class + " is an A!"
puts(grade_a_announcement)
此外,作为您必须在多个场合检查变量的程序的建议,使用case
代替所有if
的{{3}}
答案 1 :(得分:0)
&#34;一元运算符&#34;正如@Dimovict所说,错误是因为您编写puts
电话的方式。但是,获得所需效果的更惯用的方法是使用字符串插值:
puts("Your letter grade for #{class} is an A!")
这会在class
位于字符串中的#{class}
处插入,并应删除您所获得的错误(除非您的代码中有更多内容未显示)。< / p>