Python sjekk om karakteren er nummer

Python sjekk om karakteren er nummer

Det kommer ofte en tid da utvikleren trenger å bekrefte om tegnet som er satt inn av brukeren er et tall. I Python kan brukeren gjøre dette på flere måter, som inkluderer bruk av enkel “If-Else-uttalelser”, ASCII -ekvivalenter i if-else, isDigit () metode, og isNumeric () metode.

Dette innlegget vil fungere som en brukerhåndbok for å sjekke et tegn mot tall.

Metode 1: Bruke if-ests-setninger

Fra og med med den mest grunnleggende tilnærmingen, kan brukeren ganske enkelt bruke betingede utsagn for å sjekke mot karakter “0” til karakter “9”. For å forklare denne metoden bedre, la oss ta følgende eksempel nedenfor:

Charvar = '2'
if (charvar> = '0' og charvar <='9'):
trykk ("Det er et tall")
ellers:
trykk ("Det er ikke et tall")


I dette ovennevnte kodebit:

    • En karaktervariabel initialiseres med tegnet '2'.
    • Hvis uttalelsen brukes til å sjekke om tegnet er hvor som helst mellom 0 og 9.
    • Hvis resultatet er sant, skriver det ut at det faktisk er et tall.
    • Ellers er det ikke et tall.

Når koden ovenfor blir utført, gir den følgende resultat:


Fra utgangen kan det tydelig sees at resultatet faktisk er riktig. La oss imidlertid endre verdien av Charvar til noe som ikke er et tall som:

Charvar = 'M'


Denne gangen, når koden blir utført, gir den følgende resultat:


Utgangen verifiserer at karakteren 'M' ikke er et tall.

Metode 2: Bruke ASCII-koder i IF-Else

Et alternativ til streng/karaktersammenligning i IF-Else-betingede utsagn er å bruke ASCII-kodesammenligningen i IF-Else-utsagn. For å få ASCII -koden til en karakter i Python, “ord ()”Metode brukes. Og så til sammenligning, må du sammenligne det med verdiene fra “48”Og“57”. For å vise frem arbeidet med denne metoden, ta følgende kode:

Charvar = '7'
if (ord (charvar)> = 48 og ord (charvar) <=57):
trykk ("Det er et tall")
ellers:
trykk ("Det er ikke et tall")


I koden ovenfor:

    • En karaktervariabel “Charvar” initialiseres med verdien '7'.
    • Inne.
    • ASCII blir sammenlignet med verdier fra 48 til 57 som representerer tallet 0 til 9.
    • Resultatet skrives ut i henhold til resultatet av IF -uttalelsen.

Når koden ovenfor utføres, vil den gi følgende resultat på terminalen:


Etter disse IF-Else-utsagnene, kan brukeren også bruke den innebygde metoden, som vil bli dekket neste.

Metode 3: Bruke ISDIGIT () -metoden

ISDIGIT () -metoden kan brukes på en streng eller en tegnvariabel ved hjelp av en prikkoperatør, og den vil returnere “ekte”Eller“falsk”, Avhengig av om tegnet er et tall eller ikke. For denne metoden, bare ta den undergitte koden:

Charvar = '7'
Trykk (Charvar.isDigit ())


Når denne koden blir utført, gir den følgende utfall på terminalen:


Dette betyr at Charvar faktisk er et tall. Noter imidlertid begrensningen av ISDIGIT () -metoden at den ikke kan brukes til å trekke negative heltall.

Metode 4: Bruke ISNumeric () -metoden

Med veldig lik arbeid som IsDigit (), kan ISNumeric () -metoden brukes til å sjekke om et tegn i en variabel er et tall eller ikke. I motsetning til ISDIGIT () -metoden, kan ISNumeric () -metoden også brukes til å oppdage negative heltallverdier. For å teste ut arbeidet med ISNumeric () -metoden, bruker du bare følgende kode:

Charvar = '4'
Trykk (Charvar.isNumeric ())


Koden vil gi følgende utfall:


Resultatet verifiserer at en karakter faktisk er et tall.

Bonusmetode: Bruke type støping og feilhåndtering

Når en ugyldig konvertering av typen blir gjort, går programmet inn i en feil og krasjer. Krasjet kan unngås ved å bruke feilhåndtering i "Try-fangst”Blokker. For å bruke denne tilnærmingen, bruk følgende kode:

new_str = '1'
prøve:
int (new_str)
trykk ("Det er et tall")
unntatt ValueError:
trykk ("Det er ikke et tall")


I dette kortkodet utdrag:

    • Strengvariabelen konverteres til et heltall ved hjelp av “int ()” -metoden.
    • Hvis konverteringen er vellykket, ber programmet brukeren om at tegnet var et heltall.
    • Ellers skriver det ut at tegnet ikke er et tall.

Når denne koden kjøres, vil den gi følgende resultat på terminalen:


Det handlet om å sjekke om en karakter er et tall eller ikke i Python.

Konklusjon

Brukeren kan enkelt sjekke om et tegn er et tall eller ikke ved å bruke IF-Else-betingede utsagn, innebygde metoder og type støping med en feilhåndteringsteknikk. Bruk tilstanden for å sjekke for tegnene 0 til 9 eller deres ASCII-kode for IF-Else-utsagnene. For de innebygde metodene, bare bruk dem på karaktervariabelen ved å bruke en prikkoperatør.