python string číslo isdigit
Jak se dá snadno zjistit, jestli je řetězec číslo? Python - a jeho datový typ string
- má šikovnou metodu isdigit
.
Vyzkoušejte si jí na příkladech
Příklad 1: Je to číslo?
Metoda isdigit
určí, jestli je řetězec číslo.
Všimněte si použití jednořádkového if...else.
x = "LovelyData"
print(f"Je '{x}' číslo?", "Ano, je." if x.isdigit() else "Ne, není.")
x = "123"
print(f"Je '{x}' číslo?", "Ano, je." if x.isdigit() else "Ne, není.")
Je 'LovelyData' číslo? Ne, není.
Je '123' číslo? Ano, je.
Příklad 2: Kolik čísel je v textu?
x = """Kurzům LovelyData věří více než 50 největších společností.
V nabídce najdete téměř 30 kurzů a knih.
Již od roku 2018."""
pocet_cisel = 0
# Odstraníme z textu tečky a pak rozdělíme text
for slovo in x.replace(".", "").split():
if slovo.isdigit():
# Pokud najdeme číslo, přičteme 1
pocet_cisel = pocet_cisel + 1
print(f"Počet čísel v textu: {pocet_cisel}.")
Počet čísel v textu: 3.
Příklad 3: Vypiš čísla z textu
x = """Kurzům LovelyData věří více než 50 největších společností.
V nabídce najdete téměř 30 kurzů a knih.
Již od roku 2018."""
cisla = list()
# Odstraníme z textu tečky a pak rozdělíme text
for slovo in x.replace(".", "").split():
if slovo.isdigit():
# Pokud najdeme číslo, přidáme ho do seznamu
cisla.append(slovo)
print(f"Text obsahuje tato čísla: {[i for i in cisla]}.")
Text obsahuje tato čísla: ['50', '30', '2018'].