超数学的超訳、かつ、数学もダメ、∴誤訳

なんか凄い数学が潜んでるのかと思っちゃったよ。

For example, to compute a sequence of numbers not divisible by 2 and 3

当然これは「2と3で割り切れない数を計算」する意味である。

元の翻訳みて目を疑ってしまった。

「例えば、次のコードは25までの素数を計算します。」

にゃぬ? 2と3で割り切れないと 25 までの素数になるのか? …と真面目に証明を考えようとしてしまった。

なんだよ…。どうもこのスニペットをみて早合点の「意訳」をしたようだ:

1 >>> def f(x): return x % 2 != 0 and x % 3 != 0
2 ...
3 >>> filter(f, range(2, 25))
4 [5, 7, 11, 13, 17, 19, 23]

素数言うなら 3 はどうした、3 は。なんだろ、素直に訳せばいいのに。(とはいえ原文が「25 まで」と言ってないのに range で上界を指定してることに苦慮した可能性はあるな。)