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