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:
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:
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:
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.