2016-09-22 2 views
0

Мой профессор дал нам наше первое задание (Cs315), которое включает в себя работу с некоторыми огромными (нечетными) целыми числами и определение, являются ли они первыми. Я начал делать это в C++, пока не понял, что даже длинный длинный ints не может содержать требуемые числа, поэтому мне остался выбор сделать класс векторов на 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 + 1' обратно 'x' , – Celeo

+2

do 'x + = 1' или' x = x + 1' –

ответ

1

Вам нужно назначить x + 1 обратно x. Вы можете либо сделать это вот так: x = x+1 или вот так: x += 1

+0

Я чувствую себя идиотом. Это то же самое в C++. После трех лет программирования вы думаете, что что-то такое глупое было бы замечено. Это то, что я получаю от работы на иностранном языке. – somgoozy

+0

@somgoozy haha ​​не беспокойтесь об этом, каждый делает такие ошибки :) –

+0

Многие ошибки в программном обеспечении вызваны такими глупыми ошибками, не беспокойтесь об этом – SimonM

Смежные вопросы