如何简化这段代码?如何简化这段代码?
if number < 100
divisor = 10
elsif number < 1000
divisor = 100
elsif number < 1000000 # 1 million
divisor = 1000
elsif number < 1000000000 # 1 billion
divisor = 1000000
elsif number < 1000000000000 # 1 trillion
divisor = 1000000000
# Keep goin...
end
这里的要点是...
- 如果数量
>= 0
和< 100
我需要一个divisor = 10
。 - 如果号码是
>= 100
和< 1.000
我需要divisor = 100
。 - 如果号码是
>= 1.000
和< 1.000.000
我需要一个divisor = 1.000
。 - 如果号码是
>= 1.000.000
和< 1.000.000.000
我需要一个divisor = 1.000.000
。 - 这永远保持布莱恩..
我试过的while
和pow
几个组合,但我没有在这里得到的格局。
看起来你有两种模式在这里。考虑一下你用来决定这些值的逻辑,它可能会导致答案(或者它不是你的代码?) –
您是否尝试过使用'for-loop'和'modulus'运算符? –
elsif number <1000000#1 million divisor = 1000您需要1000或100000 –