Python je výkonný programovací jazyk, který poskytuje mnoho vestavěných nástrojů pro práci s čísly. Často se můžete setkat s nutností zkontrolovat, zda je dané číslo trojciferné. V tomto článku se podíváme na několik způsobů, jak lze takovou kontrolu provést pomocí funkcí a podmíněných příkazů Pythonu.
Prvním způsobem je použití modulu math. Můžeme použít funkci floor z modulu math k zaokrouhlení čísla na menší stranu a poté provést kontrolu, zda je číslo větší nebo rovno 100 a menší nebo rovno 999. Pokud jsou tyto podmínky splněny, je číslo trojciferné.
Druhým způsobem je použití podmíněných operátorů. Můžeme použít podmíněný příkaz if a změnit typ dat čísla na řádek pomocí funkce str. Poté můžeme porovnat délku řádku s číslem 3. Pokud je délka 3, pak je číslo trojciferné.
Kontrola trojciferného čísla v Pythonu
- Metoda 1: Použití matematické operace dělení na 100 a ověření zůstatku z dělení na 1.
- Metoda 2: Převod čísla na řádek a použití funkce len() ke kontrole délky řádku.
Zvažte každou metodu podrobněji:
Metoda 1: Použití matematické operace dělení na 100 a kontrola zůstatku z dělení na 1
Tato metoda je založena na vlastnostech třímístných čísel, která se beze zbytku dělí na 100. Můžete použít operaci dělení 100 a zkontrolovat zbytek dělení 1. Pokud je zůstatek 0, pak je číslo trojmístné.
num = 123if num % 1000 // 100 == 0:print("Число является трехзначным")else:print("Число не является трехзначным")
Výsledek provádění tohoto kódu bude:
Число является трехзначным
Metoda 2: Převod čísla na řádek a použití funkce len () ke kontrole délky řádku
Druhá metoda je založena na převodu čísla na řádek a kontrole délky řádku pomocí funkce len(). Pokud je délka řetězce 3, pak je číslo trojmístné.
num = 123if len(str(num)) == 3:print("Число является трехзначным")else:print("Число не является трехзначным")
Výsledek provádění tohoto kódu bude:
Число является трехзначным
Pomocí popsaných metod lze tedy snadno ověřit, zda je číslo v Pythonu trojciferné.
Použití srovnávacích operátorů
K tomu lze použít následující kód:
number = 123if 100
Použití srovnávacích operátorů tak umožňuje pohodlně zkontrolovat trojcifernost čísla nebo jakékoli jiné podmínky na základě hodnot proměnných. Je to velmi užitečný nástroj pro psaní podmíněných příkazů a struktur v programování v jazyce Python.
Použití funkce len()
Nejprve je nutné číslo převést na řádek pomocí funkce str (). Potom je možné vyvolat funkci len () a přenést do ní výsledný řádek. Funkce vrátí počet znaků v řádku, tedy počet číslic v čísle.
Dále je možné porovnat vrácenou hodnotu s požadovanou délkou. Pokud se počet znaků rovná třem, je číslo trojciferné. Jinak číslo není trojciferné.
V uvedeném příkladu obsahuje proměnná number trojciferné číslo 123. Převádíme jej na řetězec pomocí funkce str () a výsledek uložíme do proměnné number_str . Potom zavoláme funkci len () a předáme ji number_str jako argument. Délka řádku je uložena v proměnné length .
Použití modulu math
Modul math v Pythonu poskytuje širokou škálu matematických funkcí a konstant pro provádění různých výpočtů. Tento modul může být velmi užitečný při práci s čísly, včetně kontroly trojcifernosti čísla.
Chcete-li zkontrolovat, zda je číslo třímístné, můžete použít funkce modulu math, jako je math.floor () a math.log10() . Vezměme si následující příklad:
def is_three_digits(number):
if number >= 100 and number return True
else:
return False
if is_three_digits(number):
print("Number is three digits")
else:
print("Number is not three digits")
V tomto příkladu definujeme funkci is_three_digits (), abychom zkontrolovali, zda je číslo trojciferné. Pokud je číslo větší nebo rovno 100 a menší nebo rovno 999, funkce vrátí True, jinak se vrátí False.
Díky modulu math a použití funkce is_three_digits() můžeme snadno zkontrolovat, zda je číslo v Pythonu trojciferné.
Použití podmíněných operátorů
Pro ověření, zda je číslo třímístné, použijeme následující kód:
| Kód | Popis |
|---|---|
| number = 123 | Určete číslo, které je třeba zkontrolovat |
| if number >= 100 and number | Zkontrolujte, zda je číslo třímístné |
| print ("číslo", číslo, "je trojciferné") | |
| else: | Pokud číslo není trojciferné, spustíme kód. |
| print ("číslo", číslo,"není trojciferné") |
Použití regulárních výrazů
Chcete-li zkontrolovat, zda je číslo třímístné pomocí regulárních výrazů, můžete použít následující šablonu: ^\d$
- ^ - označuje začátek řádku
- \ d-odpovídá jakémukoli číslu
- - udává počet opakování předchozího znaku, v tomto případě 3krát
- $ - označuje konec řádku
Pokud tedy použijete tuto šablonu na řádek, bude odpovídat pouze třímístným číslům. Například "123" a "456" budou odpovídat vzoru, zatímco "12" a "4567" ne.
V Pythonu lze modul re použít k práci s pravidelnými výrazy. Například ke kontrole, zda je uživatelovo zadané číslo třímístné, lze použít následující kód:
import renumber = input("Введите число: ")if re.match(r"^\d$", number):print("Число является трехзначным")else:print("Число не является трехзначным")
V tomto případě funkce re.match () aplikuje regulární výraz na řádek, a pokud řetězec odpovídá šabloně, vrátí se objekt, který lze interpretovat jako skutečnou hodnotu.
Použití pravidelných výrazů v Pythonu vám pomůže efektivně zkontrolovat, zda je číslo trojmístné a provést příslušné kroky ve vašem programu.