Voglio usare le conoscenze di base per migliorare l'efficienza del codice. Lo so nel sistema binario. quando l'ultima cifra del numero è 1, questo è un numero dispari. e 0 è un numero pari. Come usare in questo modo per giudicare un numero int in python? Python fornisce qualche metodo di build-in per farlo?Come giudicare un numero intero pari o dispari? (il modo binario)
risposta
E con 1:
0000101001000101
0000000000000001
&
__________________
0000000000000001
Se si ottiene 1
, il numero è dispari. Se ottieni 0
, il numero è pari. Anche se questo funziona, vorrei utilizzare l'operatore modulo, invece:
>>> 8888 % 2
0
>>> 8881 % 2
1
Funziona allo stesso modo, è altrettanto veloce e sembra più bello:
In [65]: %timeit random.randint(1, 1000000) & 1 == 0
1000000 loops, best of 3: 1.02 us per loop
In [66]: %timeit random.randint(1, 1000000) % 2 == 0
1000000 loops, best of 3: 1.03 us per loop
È possibile &
il numero e 1, se ottenere 0
quindi il numero è pari, 1
significa che il numero è dispari.
>>> 2 & 1
0
>>> 3 & 1
1
È possibile utilizzare l'operatore &
per verificare se è impostato il bit più basso;
a = 77
is_odd = bool(a & 1)
print is_odd # Prints True
a = 64
is_odd = bool(a & 1)
print is_odd # Prints False
** PITONE: bit meno significativo METODO **
>>> def is_odd(i): return bool(i & 1)
>>> def is_even(i): return not is_odd(i)
>>> [(j, is_odd(j)) for j in range(10)]
[(0, False), (1, True), (2, False), (3, True), (4, False), (5, True), (6, False), (7,
True), (8, False), (9, True)]
>>> [(j, is_even(j)) for j in range(10)]
[(0, True), (1, False), (2, True), (3, False), (4, True), (5, False), (6, True), (7,
False), (8, True), (9, False)]
>>>
vedere se questo può ti aiuta o no.
Spiegazione:
Verificare se un numero intero è pari o dispari. C'è più di un modo per risolvere questo compito: usa i predicati pari e dispari, se la lingua li fornisce. Controlla la cifra meno significativa. Con gli interi binari, io bit a bit e 1 è uguale a 0 se i è pari, o uguale a 1 se è i dispari. Dividi i per 2. Il resto è uguale a 0 se è uniforme. Il resto equivale a +1 o -1 se è strano. Usa congruenze modulari: i ≡ 0 (mod 2) se è uniforme. io ≡ 1 (mod 2) se è strano.
Verifica se un numero intero è pari o dispari. Esistono più modi per risolvere questa attività: Utilizzare i predicati pari e dispari, se la lingua li fornisce. Controllare la cifra meno significativa. Con gli interi binari, io bit a bit e 1 è uguale a 0 se i è pari, o uguale a 1 se è i dispari. Divide i per 2. Il resto è uguale a 0 se è uguale. Il resto equivale a +1 o -1 se è strano. Usa congruenze modulari: i ≡ 0 (mod 2) se è uniforme. i ≡ 1 (mod 2) iff i è dispari. –
# Modular Congruencies #
>> def is_even(i):
return (i % 2) == 0
>>> is_even(1)
False
>>> is_even(2)
True
>>>
@Vinceeema Un metodo più semplice! –
- 1. Identifica numeri dispari, pari - binario vs. mod
- 2. È un elemento pari o dispari?
- 3. C# Carica interi e dispari pari/dispari
- 4. Come posso dividere un dataframe in anni pari o dispari?
- 5. Trovare pari o dispari ID valori
- 6. Determinazione di numeri pari/dispari (numeri interi)?
- 7. aggiungere un numero a tutti gli elementi pari o dispari indicizzati in serie NumPy senza loop
- 8. Come convertire il numero intero nel vettore binario?
- 9. Xslt come stile condizionali pari/dispari righe
- 10. numero intero binario in output in php
- 11. Come posso determinare è cifra Numero pari?
- 12. Numero intero o numero decimale
- 13. Come rappresentare un numero intero superiore a un numero intero
- 14. php: come aggiungere un loop pari/dispari nell'array
- 15. Regex: come determinare il numero dispari/pari di occorrenze di un carattere che precede un dato carattere?
- 16. Aggiunta di cifre in luoghi pari e dispari (C#)
- 17. Utilizzando riempimento pari-dispari su tela HTML
- 18. Separazione numeri pari e dispari in CUDA
- 19. Come abbinare numeri pari di lettere o numeri dispari di lettere usando regexp per mysql
- 20. elementi ZIP con indici pari e dispari in un elenco
- 21. jQuery - come contare il numero di li e aggiungerne uno se il numero è dispari?
- 22. Come arrotondare un numero a un numero intero selezionato
- 23. Colore di sfondo a righe di dati pari/dispari
- 24. Regex per implementare la regola pari-dispari di segni negativi
- 25. Ruby controlla se numero pari, float
- 26. AngularJS ngRepeat: come differenziare gli elementi pari/dispari?
- 27. Seleziona elementi pari/dispari in IEnumerable <T>?
- 28. intero a binario Erlang
- 29. Trova numero pari/dispari senza utilizzare l'operatore matematico/bit a bit
- 30. Come salvare Mongoid foreign_key come numero intero o mantenere il modello principale con ID intero
Io uso questo metodo prima. Grazie – Vinceeema