2013-02-15 17 views
21

Mam wersję Pythona 3.3.0 i nie jestem pewien, dlaczego nie pozwala mi długo czekać na b i m ... Próbowałem sprawdzić odpowiedzi tu i nic nie pomogło ... ale dziękiNameError: nazwa globalna "long" nie jest zdefiniowana

im uzyskiwanie błąd mówiąc

NameError: global name 'long' is not defined 


power = long(b) % long(m) 
+4

Nie ma już "długiego". Odpuść (BTW, int to nowa długa) – JBernardo

+1

Dlaczego w ogóle próbujesz przekonwertować na 'long'? Wywołujesz funkcję tylko z liczbami całkowitymi i nie ma mowy, że 'b% m' może być zbyt duży, aby zmieścić się w' int', jeśli 'm' jest' int'. Dodatkowo, nawet jeśli jest on zbyt duży, nawet w wersji 2.x, każda operacja na dwóch wartościach "int", które są zbyt duże dla 'int', zwraca' long', tak więc nie ma żadnej korzyści z konwersji z góry. – abarnert

Odpowiedz