Ich möchte Grundkenntnisse verwenden, um die Effizienz von Code zu verbessern. Ich weiß das im Binärsystem. Wenn die letzte Ziffer der Zahl 1 ist, ist dies eine ungerade Zahl. Und 0 ist eine gerade Zahl. Wie kann man auf diese Weise eine int-Zahl in Python beurteilen? Gibt das Python irgendeine eingebaute Methode, um es zu tun?Wie beurteilt man eine int-Zahl ungerade oder gerade? (der binäre Weg)
Antwort
und mit 1:
0000101001000101
0000000000000001
&
__________________
0000000000000001
Wenn Sie 1
zu bekommen, ist die Zahl ungerade. Wenn Sie 0
erhalten, ist die Anzahl gerade. Während dies funktioniert, würde ich den Modulo-Operator statt:
>>> 8888 % 2
0
>>> 8881 % 2
1
Es funktioniert auf die gleiche Art und Weise, wie schnell und sieht besser aus:
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
Sie die Nummer &
und 1, wenn Sie bekommen 0
dann ist die Zahl gerade, 1
bedeutet die Nummer ist ungerade.
>>> 2 & 1
0
>>> 3 & 1
1
Sie können nur den &
Operator verwenden, wenn das niedrigste Bit gesetzt ist, zu überprüfen;
a = 77
is_odd = bool(a & 1)
print is_odd # Prints True
a = 64
is_odd = bool(a & 1)
print is_odd # Prints False
** PYTHON: Least Significant Bit METHODE **
>>> 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)]
>>>
sehen, ob dies können Sie hilft oder nicht.
Erläuterung:
Prüfen, ob eine ganze Zahl gerade oder ungerade ist. Es gibt mehr als eine Möglichkeit, diese Aufgabe zu lösen: Verwenden Sie die geraden und ungeraden Prädikate, wenn die Sprache diese liefert. Überprüfen Sie die niedrigstwertige Ziffer. Mit binären ganzen Zahlen bin ich bitweise - und 1 ist gleich 0, wenn i gerade ist, oder gleich 1, wenn i ungerade ist. Teilen Sie i durch 2. Der Rest ist gleich 0, wenn i gerade ist. Der Rest ist +1 oder -1, wenn i ungerade ist. Verwenden Sie modulare Kongruenzen: i ≡ 0 (mod 2) wenn i gerade ist. i ≡ 1 (mod 2) wenn i ungerade ist.
Testen Sie, ob eine ganze Zahl gerade oder ungerade ist. Es gibt mehr als eine Möglichkeit, diese Aufgabe zu lösen: Verwenden Sie die geraden und ungeraden Prädikate, wenn die Sprache dies vorsieht. Die niedrigstwertige Ziffer prüfen. Mit binären ganzen Zahlen bin ich bitweise - und 1 ist gleich 0, wenn i gerade ist, oder gleich 1, wenn i ungerade ist. Teilen Sie i durch 2. Der Rest ist gleich 0, wenn i gerade ist. Der Rest ist +1 oder -1, wenn i ungerade ist. Verwenden Sie modulare Kongruenzen: i ≡ 0 (mod 2) wenn ich gerade ist. i ≡ 1 (mod 2) wenn i ungerade ist. –
# Modular Congruencies #
>> def is_even(i):
return (i % 2) == 0
>>> is_even(1)
False
>>> is_even(2)
True
>>>
@ Vinceeema Eine einfachere Methode! –
- 1. Regex ungerade/gerade Betrag
- 2. Wie beurteilt man eine Textdatei oder eine Binärdatei mit Java in der Windows-Umgebung?
- 3. Beurteilen Sie eine Zahl ist ungerade oder gerade
- 4. Bericht gerade oder ungerade Anzahl in JS
- 5. Überprüfen, ob ein NSInteger gerade oder ungerade ist
- 6. Ermitteln gerade/ungerade Zahlen (ganze Zahlen)?
- 7. AngularJS ngRepeat: Wie unterscheidet man gerade/ungerade Elemente?
- 8. Grails-Listenansicht Ungerade/gerade Klassenname für Zeile
- 9. php: wie ungerade/gerade Schleife in Array
- 10. machen Funktion ist Nummer ist ungerade oder gerade
- 11. wenn Zeichenfolge gerade oder ungerade Länge mit regulären Ausdrücken ist
- 12. Regulärer Ausdruck für nur ungerade oder gerade Zahl
- 13. Überprüfen Sie, ob eine Zahl in Python ungerade oder gerade ist
- 14. C++ gerade oder ungerade Anzahl Programm funktioniert nicht richtig
- 15. Wählen Sie ungerade/gerade untergeordnete divs
- 16. Serieller Typ erzeugt nur gerade oder ungerade Zahlen in Postgresql
- 17. Wie zeigt man nur gerade oder ungerade Zeilen in SQL Server 2008?
- 18. C# Ganzzahlen laden und ungerade/gerade anzeigen
- 19. Unterschiedliche gerade und ungerade Sortierung in Quicksort
- 20. Sortieren gerade Zahlen, dann ungerade Zahlen
- 21. Gerade und ungerade Zufallszahlen ohne Duplikate
- 22. Prüfe, ob eine Variable if gerade oder ungerade ist Imagine Logo
- 23. jQuery gerade/ungerade Selektoren für mehrere Elemente
- 24. Ich bin bei der spezifischen ungerade gerade Ausgabe stecken
- 25. Gerade und ungerade Zahl Vergleich Helfer für Lenker
- 26. Bestimmen Sie, ob der resultierende Wert einer Funktion gerade oder ungerade ist
- 27. Wie erstellt man Zebrastreifen in HTML-Tabellen, ohne Javascript zu verwenden und gerade/ungerade Klassengenerierung?
- 28. Wie beurteilt man, welcher Konstruktor in Java verwendet wird, oder wie man weiß, wie viele Parameter eine Instanz hat?
- 29. Wie kann ich zwei Zeichen einer Zeichenfolge drucken, wenn sie gerade ist, oder eine, wenn sie ungerade ist?
- 30. Ich wurde gerade gehackt, aber ich weiß nicht, wie oder wichtiger, warum. Sehr ungerade Code injiziert
Ich benutze diese Methode vor. Danke – Vinceeema