Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Datové typy

Bře 9, 2021 Python kurz

V minulém díle jsme se naučily funkci input, která nám umožní, aby uživatel zadal text, číslo nebo nějaké hodnoty a my s nimi dále pracovaly v programu.  Ukládaly je do proměnných, prováděly různé výpočty nebo je vkládaly do textu a mnoho dalších operací.

Problém ovšem nastává, když nám uživatel například zadá číslo a my sním potřebujeme pracovat jako s textem. K vyřešení těchto problémů slouží datové tipy a my se podíváme jaké datové tipy existují a jak je používat. Dále přidáme do dnešní lekce funkci len( ), na kterou se podíváme jako první.

Funkce len 

Funkce len nám dokáže změřit počet znaků v řetězci. To znamená, že pokud mám nějaké slovo např. jméno Pavel, tato funkce změří kolik je v tomto jméně znaků. P = 1 A = 2 V = 3 E = 4 L = 5 funkce nám dá hodnotu 5 jelikož ve jméně Pavel je 5 znaků.

Pojďme si ukázat příklad jak funkce len ( ) vypadá

print(len("text"))
print(len("text "))

Vyzkoušejte si kód spustit a uvidíte výsledek 4 a 5. To je z toho důvodu, že ve spodním řádku máme v textu mezeru a funkce len () nám spočítá i v textu i mezery.

Pojďme zkombinovat funkci len s tím co už známe. Protože umíme si říct o data od uživatele a umíme je zapsat do proměnné a zobrazit, tak si můžeme napsat program, který se nás zeptá na to jak se jmenujeme a řekne nám jak dlouhé je naše jméno.

#funkce len měří kolik má znaků můj řetězec 
print(len("text"))    # slovo text má 4 znaky proto výstup bude 4 
print(len("text "))    #pokud přidám v textu mezeru výstup bude 5, prtože to započítá i mezeru

print(len(input("Zadejte své jméno: "))) #tři funkce v jednom řádku 

name = input("Jak se jmenuješ?: ")
delka = len(name)
print(delka)

Funkci len máme zvládnutou a nyní se můžeme podívat na datové tipy . Ty v Pythonu rozeznáváme 4.

  • String
  • Integer
  • Float 
  • Boolean
#Datové typy

#String 

print("123" + "123")

#integer

print( 123 + 123)



#float

print(3.14159)

#boolean 
True
False

String  datový typ string je typ, ve kterém máme nějaký text. Pokud sečtu tyto dva typy, které vidíte v příkladu, nahoře dostanu výsledek 123123

Integer Integer je datový typ, ve kterém máme nějaké číslo. Pokud tyto typy sečtu jako v příkladu nahoře, dostanu výsledek 246

Float datový typ float je podobný, jako datový typ Integer, akorát se používá pro desetinná čísla.

Boolean je datový typ, který nám uchovává dvě hodnoty True a nebo False, pravda nebo nepravda. Lze si to představit jako žárovku buď je rozsvícená a nebo zhasnutá. Hodnoty můžeme mezi sebou porovnávat a k tomu potřebujeme porovnávací operátory. 

Rovnost==
Je větší>
Je menší<
Je větší nebo rovno>=
Je menší nebo rovno<=
Není rovno !=
x = 5
y = 8

print("x == y:", x == y)
print("x != y:", x != y)
print("x < y:", x < y)
print("x > y:", x > y)
print("x <= y:", x <= y)
print("x >= y:", x >= y)

Zkuste spustit tento kód a podívejte se na výsledek. Ve funkci print se nám text v uvozovkách vypíše jako text, a kód za čárkou x  == y se nám bude porovnávat a vypíší se nám výsledky pravda nepravda.

str( )

Občas potřebujeme pracovat s číslem jako s textem a zase číslo, které je zapsané jako text, tak potřebujeme použít jako číslo. To uděláme změnou datového typu.

Funkce string, kterou v kódu zapisujeme str( ) převede číslo na text

x = 12 # V proměné x máme uloženou hodnotu 12 

print(x * 2) # Vypíše se nám kolik je 12 * 2, takže výstup bude 24 

promenna_x = str(x) # string hodnoty x můžu uložit do další proměné x bude pořád číslo, ale promena_x bude text

print(2 * promenna_x) # Vypíše se nám za sebou dvakrát číslo 12 protože v hodnotě promena_x je 12 text takže výstup bude 1212

Na začátku programu máme hodnotu x, která je 12. první řádek nám vynásobí 2 * 12 a výsledek bude 24.

Ve třetím řádku převedme hodnotu x na text a uložíme do proměnné promenna_x. Poslední řádek nám dvakrát vypíše text 12, tak výsledek bude 1212.

V datovém typu string můžeme jednoduše zjistit na které pozici se nachází jaký znak. Pojďme se podívat, jak to zjistíme. 

print("Ahoj"[0])
print("Ahoj"[1])
print("Ahoj"[2])
print("Ahoj"[3])

Pokud jste si kód zkusili spustit, pak víte, že výsledek vypadá takto.

  • A – je na pozici 0
  • H – je na pozici 1
  • O – je na pozici 2
  • J – je na pozici 3

Při zjišťování toho, jaký znak se nachází na které pozici je třeba dávat pozor na to, že Python počítá od nuly a ne od jedničky. Proto na pozici 0 je A a na pozici 1 je H.

int( )

Teď to zkusíme obráceně převedeme text na číslo pomocí funkce int( ).

x = str(input("Zadej cislo"))

print(x * 2)

int_x = int(x)

print(int_x * 2)

Vyzkoušejte jak text funguje a vysvětlíme si, jak funguje převod textu na číslo.

x = str(input("Zadej cislo"))

print(x * 2)

int_x = int(x)

print(int_x * 2)

Když už známe vnořené funkce, můžeme si do funkce string str() vnořit input, který nám umožní uložit do proměnné x hodnotu, kterou uživatel zadal a zároveň funkce str() tuto hodnotu převede na text.

To znamená, že když nám uživatel zadá číslo, tak my s ním můžeme pracovat pouze jako s textem. To při spuštění programu můžete vidět ve druhém řádku. Pokud zadáte hodnotu 15 Python vypíše 2x text 15 a výstup vypadá 1515

Pro provádění matematických operací potřebujeme x převést na číslo. To uděláme ve třetím řádku funkcí int( ), kde převedeme text na číslo. 

Čtvrtý řádek nám vypíše 2x proměnnou int_x, do které jsme uložili text jako číslo, proto výstup bude 30.

Cvičení

Příklad číslo 1

Napiš program, který se tě zeptá na tvé jméno a příjmení a na konci ti napíše, kolik znaků má tvé jméno a kolik znaků má tvé příjmení.

Program by mohl vypadat takto: 

Ahoj, zadej mi prosím tvé jméno

Zadej prosím  tvé příjmení:

Tvé jméno je dlouhé 5 znaků a tvé příjmení je dlouhé 8 zanků.

Příklad číslo 2

Napiš program, do kterého zadáš dvojciferné číslo například číslo 59. Program sečte na konci obě čísla a vypíše výsledek. V případě čísla 59 bude program sčítat  5 + 9 = 14 

# ? Tento kód neměň ?
dvouciferne_cislo = input("Zadej dvouciferne číslo: ")
# ? Tento kód neměň ?

####################################

#Sem piš svůj kód ?

Příklad číslo 3

Naprogramuj jednoduchý BMI kalkulátor, který se tě zeptá na tvoji výšku, na tvoji váhu a následně spočítá tvé BMI a na konec ho vypíše. BMI vypočítáš pomocí tohoto vzorečku:

 

# ? Don't change the code below ?
vyska = input("Zadej svoji výšku v metrech: ")
vaha = input("Zadej svoji váhu v kilogramech: ")
# ? Don't change the code above ?

#Write your code below this line ?

BMI podle vzorečku: 80 kilový člověk měřící 180 centimetrů bude počítat své BMI takto 80 / 1.8 * 1.8

Protože BMI, které vypočítáš podle vzorečku bude mít s největší pravděpodobností mnoho desetinných čísel ukážeme si na závěr jak zaokrouhlovat.

Zaokrouhlovat můžeš pomocí funkce round( ) 

Ukážu ti, jak funkci round( ) použít a zkus ji použít i ve svém úkolu.

print(round(8/3))   #zaokrouhlení bez desetinného místa
print(round(8/3,2)) #zaokrouhlení na dve desetinná místa
print(round(8/3,3)) #zaokrouhlení na tři desetinná místa

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *