Přejít na hlavní obsah

Zkontrolujte, zda je číslo trojmístné v jazyce Python

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ódPopis
number = 123Urč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.