Python/Kenjiro995/Testování hodnot
Vzhled
< Python | Kenjiro995
Test alfanumerických znaků
[editovat]a = "abc"
b = "abc123"
c = "123"
d = "3.14"
print(a, a.isalpha())
print(b, b.isalpha())
print(c, c.isalpha())
print(d, d.isalpha())
Výstup:
abc True abc123 False 123 False 3.14 False
Test číselných znaků
[editovat]a = "abc"
b = "abc123"
c = "123"
d = "3.14"
print(a, a.isdigit())
print(b, b.isdigit())
print(c, c.isdigit())
print(d, d.isdigit())
Výstup:
abc False abc123 False 123 True 3.14 False
Test desetiného čísla
[editovat]Nejdříve je dobré z čísla odstranit tečku, a poté otestovat na přítomnost čísla.
Odstranění jedné tečky:
a = "123.1548"
print(a.replace('.','',1))
Výstup:
1231548
a = "3.14.5"
print(a.replace('.','',1)) # odstranil jen jednu tečku
print(a.replace('.','')) # odstranil všechny tečky
Výstup:
314.5 3145
a = "3.14:5.18.25"
print(a.replace(".","",1)) # odstraní jednu tečku
print(a.replace(".","").replace(":", "")) # odstraní všechny tečky a dvojtečky
Výstup:
314:5.18.25 31451825
Testování přítomnosti desetinného čísla:
a = "123.1548"
print(a.replace('.','',1).isdigit()) # True protože je číslo a mělo i tečku
if a.replace('.','',1).isdigit():
print("Jde o celé číslo nebo desetiné číslo")
else:
print("Špatný vstup, raději zadejte znovu")
Výstup:
True Jde o celé číslo nebo desetiné číslo
a = "123.1548"
print(a.replace('.','',1))
print(a) # proměnná se nezměnila
Výstup:
1231548 123.1548
a = "123.1548"
print(a)
a = a.replace('.','',1) # proměnná se změnila
print(a)
Výstup:
123.1548 1231548
Test na přítomnost desetinného čísla nebo celého čísla:
a = "123.1548"
b = "123"
print(a, a.replace('.','',1).isdigit())
print(b, b.replace('.','',1).isdigit())
Výstup:
123.1548 True 123 True
Test přítomnosti znaku
[editovat]a = "123.1548"
b = "123"
print("testuju přítomnost znaku tečky")
print(a, "." in a)
print(b, "." in b)
print()
print("testuju přítomnost znaku 8")
print(a, "8" in a)
print(b, "8" in b)
Výstup:
testuju přítomnost znaku tečky 123.1548 True 123 False testuju přítomnost znaku 8 123.1548 True 123 False
Testuje přítomnost slova "Python" v řetězci:
a = "Python je fajn jazyk."
b = "Mam raději JavaSript"
print(a, "Python" in a)
print(b, "Python" in b)
Výstup:
Python je fajn jazyk. True Mam raději JavaSript False
Praktické využití
[editovat]a = input("Zadejte číslo: ")
if a.isalpha():
print("Váš vstup obsahuje pouze znaky abecedy, já chtěl číslo")
elif a.isdigit():
print("Vás vstup obsahuje pouze čísla, což mi stačí")
elif a.replace('.','',1).isdigit():
print("Váš vstup obsahuje desetiné číslo, což mi stačí")
elif " " in a:
print("Pozor váš vstup obsahuje mezeru, což je špatně")
else:
print("Zadal jste neplatný vstup")
Výstup:
Zadejte číslo: fdafds Váš vstup obsahuje pouze znaky abecedy, já chtěl číslo
Výstup:
Zadejte číslo: 12587 Vás vstup obsahuje pouze čísla, což mi stačí
Výstup:
Zadejte číslo: 26.256987 Váš vstup obsahuje desetiné číslo, což mi stačí
Výstup:
Zadejte číslo: abc128 Zadal jste neplatný vstup
Výstup:
Zadejte číslo: abc 1598 Pozor váš vstup obsahuje mezeru, což je špatně