我的Ruby代码似乎不起作用
num1, num2, num3 = gets puts "Your first number = Your second number + Your third number. True or False?" puts num1 == num2+num3 print "The sum is Your first number"
我希望这个程序接受来自用户的3个号码(工作正常)并显示消息,说第一个数字等于接下来的2个数字的总和,如果这是真或假,则根据用户的输入。 为什么这不起作用? 这次事故的解决方案是什么? 请在评论中告诉我。 谢谢! ☺
您想要用户输入的内容并不完全清楚,但请注意, gets
返回一个字符串,因此您可能希望将其拆分为由空格分隔的部分:
num1, num2, num3 = gets.split(/\s+/)
所以用户现在可以输入
7 200 83
这三个项目最终将以num1
, num2
和num3
。 但也要注意那些是字符串。 所以使用+
运算符将连接它们:
num2 + num3 => "20083"
要将它们添加为整数,您可以这样做:
num2.to_i + num3.to_i => 283
我觉得你是个新手。 不要为声誉感到沮丧。 我们都是新的一次。 关于你的问题:如果你应该从命令行获取数字,你可以这样做:
# Get numbers print 'Enter first number: ' num1 = gets.to_i print 'Enter second number: ' num2 = gets.to_i print 'Enter third number: ' num3 = gets.to_i # Find result sum = num2 + num3 result = 'more' if sum > num1 result = 'less' if sum < num1 result = 'equal' if sum == num1 # Show result with interpolation puts "The sum is #{result} your first number"
Ps它可能对您有所帮助: https : //stackoverflow.com/help/how-to-ask
好的,谢谢你。 会继续努力!