2016-09-22 11 views
0

は私の教授は、私たちにいくつかの巨大な(奇数)の整数を扱う、彼らが素数であれば決定することを含む私たちの最初の割り当て(Cs315)を与えました。長い整数でも必要な数を保持できないことに気付くまで、私はC++でこれをやり始めました。そのため、C++でベクトルクラスを作るか、数日でPythonを学ぶという選択肢が残っていました。この単純なPythonコードは、奇数の256ビットの乱数を吐き出すことになっています。それは偶数と奇数の両方の乱数を吐き出します。私は理由を知らないのですが、私の推測は、私が見ていない単純な構文上の誤りだということです。ランダム奇数番号

import random 
x = random.getrandbits(256) 
if x % 2 == 0: 
    x + 1 
print x 
+1

'x + 1' - > x = x + 1' –

+1

' x + 1'は 'x'に' x'を割り当てません。 https://docs.python.org/3/reference/simple_stmts.html#augmented-assignment-statements私は馬鹿のように感じる – Celeo

+2

は、 'X + = 1 'や' X = X + 1' –

答えて

1

あなたは戻ってxからx + 1を割り当てる必要があります。 x = x+1などこのようにすることができます:x += 1

+0

: – somgoozy

+0

@somgoozyハハは、誰もがそれについて心配しないで、ミス:)ソフトウェアで –

+0

多くのバグは、このような愚かなミスによって引き起こされるこれらの種類を作ります – SimonM