Python Sprawdź, czy znak jest numerem

Python Sprawdź, czy znak jest numerem

Często przychodzi czas, kiedy programista musi sprawdzić, czy znak wstawiony przez użytkownika jest liczbą. W Python użytkownik może to zrobić na wiele sposobów, co obejmuje użycie prostego ”Oświadczenia IF-Else", Odpowiedniki ASCII w IF-Else, isdigit () metoda i isnumeric () metoda.

Ten post będzie służyć jako przewodnik użytkownika sprawdzenia znaku na liczbach.

Metoda 1: Za pomocą instrukcji IF-ELSE

Zaczynając od najbardziej podstawowego podejścia, użytkownik może po prostu użyć instrukcji warunkowych IF-ELSE, aby sprawdzić postać „0” do postaci „9”. Aby lepiej wyjaśnić tę metodę, weźmy poniższy przykład:

Charvar = „2”
if (Charvar> = '0' i Charvar <='9'):
Drukuj („to liczba”)
w przeciwnym razie:
druk („To nie jest liczba”)


W tym powyższym fragmencie kodu:

    • Zmienna charakteru jest inicjowana z znakiem „2”.
    • Jeśli instrukcja służy do sprawdzenia, czy znak znajduje się w dowolnym miejscu od 0 do 9.
    • Jeśli wynik jest prawdziwy, to drukuje, że jest to rzeczywiście liczba.
    • W przeciwnym razie nie jest to liczba.

Po wykonaniu powyższego kodu daje następujący wynik:


Z wyjścia można wyraźnie zobaczyć, że wynik jest rzeczywiście poprawny. Zmieńmy jednak wartość Charvar do czegoś, co nie jest liczbą takiego jak:

Charvar = „M”


Tym razem, gdy kod jest wykonywany, daje następujący wynik:


Wyjście weryfikuje, że znak „m” nie jest liczbą.

Metoda 2: Korzystanie z kodów ASCII w IF-Else

Alternatywą dla porównania ciągu/znaków w instrukcjach warunkowych IF-ELSE jest użycie porównania kodu ASCII w instrukcjach IF-ELSE. Jednak, aby uzyskać kod ASCII postaci w Pythonie, „ord ()„Zastosowana jest metoda. A potem dla porównania musisz porównać go z wartościami z „48" I "57". Aby zaprezentować działanie tej metody, weź następujący kod:

Charvar = „7”
if (ord (Charvar)> = 48 i ord (Charvar) <=57):
Drukuj („to liczba”)
w przeciwnym razie:
druk („To nie jest liczba”)


W powyższym kodzie:

    • Zmienna charakteru „Charvar” jest inicjowana z wartością „7”.
    • Wewnątrz stworów if metoda ord () służy do uzyskania kodu ASCII wartości Charvara.
    • ASCII porównuje się z wartościami od 48 do 57, które reprezentują liczbę 0 do 9.
    • Wynik jest drukowany zgodnie z wynikiem instrukcji IF.

Po wykonywaniu powyższego kodu wytworzy on następujący wynik na terminalu:


Po tych instrukcjach IF-Else użytkownik może również użyć wbudowanej metody, która zostanie omówiona następna.

Metoda 3: Za pomocą metody isdigit ()

Metodę isdigit () można zastosować do łańcucha lub zmiennej znakowej za pomocą operatora kropki i zwróci „PRAWDA" Lub "FAŁSZ”, W zależności od tego, czy postać jest liczbą, czy nie. W przypadku tej metody po prostu weź kod poniżej:

Charvar = „7”
Drukuj (Charvar.isdigit ())


Po wykonaniu tego kodu daje następujący wynik na terminalu:


Oznacza to, że Charvar jest rzeczywiście liczbą. Zwróć jednak uwagę na ograniczenie metody isdigit (), że nie można jej użyć do odliczenia negatywnych liczb całkowitych.

Metoda 4: Za pomocą metody isnumeric ()

Przy bardzo podobnym działaniu do isdigit () metoda isnumeric () można zastosować do sprawdzenia, czy znak wewnątrz zmiennej jest liczbą, czy nie. W przeciwieństwie do metody isdigit () metoda isnumeric () można również użyć do wykrywania ujemnych wartości liczb całkowitych. Aby przetestować działanie metody isnumeric (), wystarczy użyć następującego kodu:

Charvar = „4”
Drukuj (Charvar.isnumeric ())


Kod przyniesie następujący wynik:


Wynik weryfikuje, że postać jest rzeczywiście liczbą.

Metoda bonusowa: za pomocą obsługi typu i obsługi błędów

Po dokonaniu nieprawidłowej konwersji typu program przechodzi w błąd i awarie. Katastrofa można uniknąć, używając obsługi błędów wewnątrz „próbuj złapać" Bloki. Aby użyć tego podejścia, użyj następującego kodu:

new_str = '1'
próbować:
int (new_str)
Drukuj („to liczba”)
Z wyjątkiem ValueerRor:
druk („To nie jest liczba”)


W tym krótkim kodzie fragment:

    • Zmienna ciągów jest konwertowana na liczbę całkowitą za pomocą metody „int ()”.
    • Jeśli konwersja zakończy się powodzeniem, program podpowiada użytkownikowi, że postać była liczbą całkowitą.
    • W przeciwnym razie drukuje, że postać nie jest liczbą.

Po uruchomieniu tego kodu przyniesie następujący wynik na terminalu:


Chodziło o sprawdzenie, czy postać jest liczbą, czy nie w Pythonie.

Wniosek

Użytkownik może łatwo sprawdzić, czy postać jest liczbą, czy nie, używając instrukcji warunkowych IF-ELSE, wbudowanych metod i odlewania typu za pomocą techniki obsługi błędów. W przypadku instrukcji warunkowych IF-Else po prostu użyj warunku, aby sprawdzić znaki od 0 do 9 lub ich kodu ASCII. W przypadku wbudowanych metod po prostu zastosuj je do zmiennej postaci za pomocą operatora kropki.