我正在做一个简单的彩票系统。我来到了我需要知道在平局中赢得了多少钱的部分。
我的想法是创建一个名为won = 0
的变量,并在每次找到胜利者时将奖金乘以变量。它似乎不想乘以变量won
。
为什么它不会添加到变量won
?有没有更简单的方法来做到这一点?也许用一种方法?
bought[i].lotterynumber
是找到lotterynumber的数组draw[x][0]
是获胜者数字。
won = 0
for x in 0..4
for i in 0..11
if bought[i].lotterynumber == draw[x][0]
if x == 0
won += 4000000
else
end
if x == 1
won += 1250000
else
end
if x == 2
won += 500000
else
end
if x == 3
won += 200000
else
end
if x == 4 or 5
won += 200000
else
end
end
end
end
puts won.to_s
答案 0 :(得分:1)
您不必指定else
caluse(我注意到您为所有ifs添加了空白的elses)。这是有效的红宝石:
if x == 0
won += 4000000
end
然而,这不符合您的期望:
if x == 4 or 5
won += 200000
else
因为它总是评估为真。将语句修复为:
if x == 4 or x == 5
won += 200000
else
答案 1 :(得分:1)
所有if语句应该只是一个案例陈述
won += case x
when 0
4000000
when 1
1250000
when 2
500000
when 3,4,5
200000
else
0
end