次のようなことができるようになりたいです...
33の倍数である100から500までのすべての数値のリストが必要だとします。
>>> a = 100
>>> b = 500
>>> range(a,b,33)
[100, 133, 166, 199, 232, 265, 298, 331, 364, 397, 430, 463, 496]
これは私が望むものではありません。これはa
33の倍数ではないためです。
33の次の倍数を取得するには、次のようにa
します。
a = a - a % 33 + 33
実際の値を知らずに、事前に定義しなくてもこの範囲を作成したい場合に、これを行う簡単な方法があるかどうかを知りたいです。
そのような:
>>> def multiple(a, b, c):
return range(a+=%c, b, c) #if this was possible
そして明らかにそれは私に正しいであろう範囲を返すでしょう、例えば:
>>> multiple(100, 500, 33)
[132, 165, 198, 231, 264, 297, 330, 363, 396, 429, 462, 495]
私は次のような簡単なことができることを知っています。
range(a - a%c + c, b, c)
ただし、詳細に立ち入ることなくa
、私の場合、の値を呼び出すのはコストがかかるので、もう一度呼び出す必要がない方法を見つけたいと思います。また、上記の方法は見栄えがよくありません。まったく。
質問のタイトルがどうあるべきか本当にわかりませんでしたが、私が探しているのは、次の数字の倍数を見つける方法だと思います。
ありがとうございました。