Office week Slevový týden - Květen
Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
30 % bodů zdarma na online výuku díky naší Slevové akci!

Lekce 2 - Proměnné, základní datové typy a funkce

V minulé lekci, Úvod do Pythonu, jsme si řekli něco o tomto jazyku, ukázali IDLE a naučili jsme se základní matematické operátory. V dnešním tutoriálu si ukážeme proměnné, základní datové typy a napíšeme si první konzolové aplikace. Samozřejmě nebude chybět cvičení :-)

Typový systém

Existují dva základní typové systémy: statický a dynamický.

  • Dynamický typový systém nás plně odstiňuje od toho, že proměnná má vůbec nějaký datový typ. Ona ho samozřejmě vnitřně má, ale jazyk to nedává najevo. Dynamické typování jde mnohdy tak daleko, že proměnné nemusíme ani deklarovat, jakmile do nějaké proměnné něco uložíme a jazyk zjistí, že nebyla nikdy deklarována, sám ji založí. Do té samé proměnné můžeme ukládat text, potom objekt uživatele a potom desetinné číslo. Jazyk se s tím sám popere a vnitřně automaticky mění datový typ. V těchto jazycích jde vývoj rychleji díky menšímu množství kódu, zástupci jsou např. PHP nebo Ruby.
  • Statický typový systém naopak striktně vyžaduje definovat typ proměnné a tento typ je dále neměnný. Jakmile proměnnou jednou deklarujeme, není možné její datový typ změnit. Jakmile se do textového řetězce pokusíme uložit objekt uživatel, dostaneme vynadáno.

Python je dynamicky typovaný jazyk, proměnné nemusíme deklarovat s jejich datovým typem. Díky tomu je vývoj v jazyce rychlejší a jazyk se ze začátku lépe osvojuje.

Proměnné

V Pythonu jsou proměnné brány jako odkazy na objekty, díky čemuž je můžeme používat ve funkcích a volat na nich metody (ukážeme si později). Proměnná nám většinou uchovává nějakou hodnotu určitého (datového) typu.

Základní datové typy

Celé číslo

Anglicky integer, zkratka int - uchovává v paměti celé číslo, jehož velikost je limitována pouze pamětí počítače.

Desetinné číslo

Anglicky floating point number, zkratka float - uchovává v paměti desetinné číslo, není však neomezeně přesné. U desetinných čísel se nepíše čárka, ale tečka. Čísla začínající nulou se dají psát bez nuly. Např. 0.25 se dají psát jako .25.

Řetězec

Anglicky string, zkratka str - uchovává v paměti řetězec (sled znaků - např. slovo). Definuje se tak, že se výraz, který uchovává, zapíše do uvozovek. Buď jednoduchých ' ', nebo do dvojitých " ".

Datové typy deklarovat nemusíme, pokud nechceme nějaké speciální.

Hodnoty uložené v proměnných

Teď si otevřte pythonovskou konzoli nebo IDLE. Vytvoříme si naši první proměnnou:

>>> a = 1

Máme a, což je odkaz na objekt o hodnotě 1. Zkusíme zvýšit hodnotu proměnné o 1:

>>> a = a + 1

A teď vypíšeme hodnotu a:

>>> a
2

Proměnných můžeme i více. Přidáme si proměnnou b.

>>> b = 3
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

A nyní vydělíme b proměnnou a a to celé uložíme do c:

>>> c = b / a

Kolik je c ?

>>> c
1.5

Někoho z vás možná napadne, že c nebude celé číslo. Python si určí, jakého typu bude proměnná. Zjistit typ proměnné můžeme funkcí type():

>>> type(c)
<class 'float'>

Proměnná c je desetinné číslo!

Velikost písmen

Teď ještě vsuvka ohledně velikosti písmen:

>>> a = 1
>>> A = 2
>>> a
1
>>> A
2

Python na rozdíl od některých jiných jazyků, rozlišuje velikost písmen u proměnných, takže a a A jsou úplně jiné proměnné!

Hello World!

V téměř každém jazyce je první aplikace Hello World! - neboli Ahoj světe! My si ji také vytvoříme. Otevřte si IDLE -> dále pak file -> New File (nebo můžete stisknout Ctrl + N). Vyskočí vám nové okno. Tam zapíšeme následující kód, který si hned vysvětlíme:

#!/usr/bin/env python3

print("Hello world!")
input()

První řádek je komentář, který zároveň slouží k spuštění interpretu (Pythonu) na unixových systémech. Komentář začíná # a Python dále ignoruje co je za ním (na řádce). Poté následuje mezera pro přehlednost. Na další řádce je funkce print(). Tato funkce zobrazí řetězec nebo číslo v konzoli. Další je funkce input(), která přijímá vstup od uživatele jako řetězec (v tomto případě čeká na stisk klávesy, jinak by se okno okamžitě zavřelo).

Pokud program spustíte, dostanete toto:

Konzolová aplikace
Hello world!

Teď zkuste zapsat do vašeho nového programu tento kód a ten poté uložte a spusťte:

#!/usr/bin/env python3

print("Já jsem první řádka.")
print("A já druhá.")
input()

Výstup:

Konzolová aplikace
Já jsem první řádka.
A já druhá.

Máte menší problém. Funkce print() po vypsání textu ukončí řádek. Pokud byste chtěli další výstup "vytisknout" na ten samý řádek, tak máte (zatím) smůlu. Později si ukážeme, jak si přizpůsobit funkci print() k obrazu svému. Funkce print() ale dokáže vypsat více textu najednou, stačí oddělit text čárkou:

#!/usr/bin/env python3

print("Já jsem první část textu", "a já druhá!")
input()

Teď si ukážeme, že i řetězce lze "sčítat":

#!/usr/bin/env python3

print("Já jsem první část textu" + " " + "a já druhá!")
input()

Výstup do konzole je pokaždé stejný a vypadá takto:

Konzolová aplikace
Já jsem první část textu a já druhá!

Papoušek

Minulý program byl poněkud nudný, zkusme nějak reagovat na vstup od uživatele. Napíšeme program papoušek, který bude dvakrát opakovat to, co uživatel napsal. Ještě jsme nezkoušeli z konzole nic načítat, ale je to velmi jednoduché. Zkusme si napsat následující kód:

#!/usr/bin/env python3

print("Ahoj, jsem virtuální papoušek Lóra, rád opakuji!")
slovo = input("Napiš něco: ") #získá od uživatele vstup a uloží jej do proměnné
vysledek = slovo + " " + slovo # vytvoří novou proměnnou
print(vysledek)
input()

Zde je ukázka:

Konzolová aplikace
Ahoj, jsem virtuální papoušek Lóra, rád opakuji!
Napiš něco: Nazdar ptáku!
Nazdar ptáku! Nazdar ptáku!

Parsování

Funkce input() vrací řetězec. Ale co když potřebujeme dostat od uživatele například číslo?

Musíme provést tzv. parsování. Číslo vytvoříme z řetězce (nebo z něčeho jiného) pomocí vestavěné funkce int(). Naopak můžeme převést číslo (nebo něco jiné - např. desetinné číslo) na řetězec pomocí funkce str(). A teď praxe:

Program zdvojnásobovač

#!/usr/bin/env python3

print("Zdvojnásobovač!")
cislo = int(input("Zadejte číslo: ")) # řetězec z input() se převede na celé číslo
print("Jeho dvojnásobek je:", 2 * cislo)
input()

Zde je příklad:

Konzolová aplikace
Zdvojnásobovač!
Zadejte číslo:
3
Jeho dvojnásobek je: 6

Kalkulačka

Teď si vytvoříme konzolovou aplikaci, která dokáže sčítat, odčítat, násobit a dělit dvě čísla.

#!/usr/bin/env python3

print("Vítejte v kalkulačce\n")
prvni_cislo = float(input("Zadejte první číslo: "))
druhe_cislo = float(input("Zadejte druhé číslo: "))
print("Součet:", prvni_cislo + druhe_cislo)
print("Rozdíl:", prvni_cislo - druhe_cislo)
print("Součin:", prvni_cislo * druhe_cislo)
print("Podíl:", prvni_cislo / druhe_cislo)
input("\nDěkuji za použití kalkulačky, aplikaci ukončíte libovolnou klávesou.")

Znak \n v textu způsobí, že se text odřádkuje. To znamená, že text za tímto znakem se zobrazí na další řádce (v tomto případě se udělá prázdný řádek, jelikož za tímto znakem nic nenásleduje).

Pokud budete mít v Pythonu víceslovné názvy proměnných, doporučuje se oddělovat názvy podtržítkem.

Nyní si ukážeme, jak kalkulačka vypadá:

Konzolová aplikace
Vítejte v kalkulačce

Zadejte první číslo:
3
Zadejte druhé číslo:
2
Součet: 5
Rozdíl: 1
Součin: 6
Podíl: 1.5

Děkuji za použití kalkulačky, aplikaci ukončíte libovolnou klávesou.

Tak a to je pro tuto lekci vše. V lekci příští, Řešené úlohy k 1. a 2. lekci Pythonu, se podíváme na větvení programu pomocí if, elif a else; výraz in a dále si ukážeme booleovské hodnoty, logické operátory a napíšeme si pár dalších programů.

V následujícím cvičení, Řešené úlohy k 1. a 2. lekci Pythonu, si procvičíme nabyté zkušenosti z předchozích lekcí.


 

 

Aktivity (9)

 

 

Komentáře

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:11.3.2014 18:06

Moc pěkné, tohle komunita už taky potřebovala :)

Odpovědět
11.3.2014 18:06
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
gcx11
Redaktor
Avatar
gcx11:11.3.2014 18:07

Potřebovala co? :)

 
Odpovědět
11.3.2014 18:07
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na gcx11
David Čápka:11.3.2014 18:10

Python seriál :P

Odpovědět
11.3.2014 18:10
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar

Člen
Avatar
:11.3.2014 18:12

(y) ;) Pokračuj, má to tu budoucnost :)

 
Odpovědět
11.3.2014 18:12
Avatar
gcx11
Redaktor
Avatar
gcx11:11.3.2014 18:16

Děkuji za vaše pozitivní reakce.

 
Odpovědět
11.3.2014 18:16
Avatar
Michal Žůrek - misaz:11.3.2014 18:56

Pěkný článek jen ten sample na jméno a příjmení, tam ty tvoje ukázkové hodnoty jsou takové matoucí. Dej tam nějaké example jméno. Např. Tomáš Jedno.

 
Odpovědět
11.3.2014 18:56
Avatar
gcx11
Redaktor
Avatar
gcx11:11.3.2014 19:01

Dobře.

 
Odpovědět
11.3.2014 19:01
Avatar
MrPabloz
Člen
Avatar
MrPabloz:11.3.2014 19:23

Chybí mi tam např. to, že proměnné jsou dynamicky typované a tak :) když už tím začínáš, mělo by to tam být :)

Odpovědět
11.3.2014 19:23
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Josef Kuchař - Pepa489:12.3.2014 7:59

Jestli se nemýlím tak už je to napsané v prvním dílu :`

Odpovědět
12.3.2014 7:59
2x piš, jednou debuguj
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Josef Kuchař - Pepa489
MrPabloz:12.3.2014 8:34

Ono je docela rozdíl ve slovech dynamicky typovaný a dynamicky interpretovaný :)dynamicky typovaný = typ proměnné se určí za běhu, není tedy nutnost určovat typ v kódu, a dynamicky interpretovaný = kód se ladí za běhu, chyby se zjisti za běhu až a tak. a v prvním díle to není, teď sem si to schválně pročet :)

Odpovědět
12.3.2014 8:34
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na MrPabloz
David Čápka:12.3.2014 10:04

"Dynamicky interpretovaný" je nějaký nesmysl, pleteš si to s interpretovaným/kom­pilovaným jazykem. EDIT: Ještě mě napadlo, že jsi asi myslel dynamicky silně typovaný a dynamicky slabě typovaný. Typ se v obou případech zjišťuje za běhu programu, ale v prvním se typy automaticky nepřevádí. Snad to říkám dobře.

Editováno 12.3.2014 10:08
Odpovědět
12.3.2014 10:04
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
MrPabloz
Člen
Avatar
Odpovídá na David Čápka
MrPabloz:12.3.2014 13:12

No mě spletlo to, že to autor v prvním díle tam tak má napsané, že to je dynamicky interpretovaný, samozřejmě sem to myslel tak jak to píšeš "interpretova­ným/kompilova­ným jazyk". A s tím silně slabě nn, to je ještě něco jineho ( btw. pokud se nepletu, python je silně)

PS: předpokládám, že autor článek poupravil podle toho vrchu, ale stejně to má špatně.
Python je dynamicky typovaný ne staticky. Staticky znamená, že musíš při deklaraci proměnné udat i její typ, natož dynamicky znamená, že neurčuješ typ, python si ho určí sám + lze ho za běhu měnit.
zde jsou výukové texty, ve kterých je to popsáno. ;)

http://mrl.cs.vsb.cz/people/gaura/spja/skripta.pdf
Odpovědět
12.3.2014 13:12
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
gcx11
Redaktor
Avatar
Odpovídá na MrPabloz
gcx11:12.3.2014 14:46

Já vím, je to špatně napsané, při psaní článku jsem si toho nevšiml.

 
Odpovědět
12.3.2014 14:46
Avatar
rybiz
Člen
Avatar
rybiz:28.10.2014 19:09

No chlapi, já jsem se rozhodl, ža začnu s programováním projel jsem si tento tutorial (musím říci že naprosto v pohodě) ale vaše diskuze už je trochu dál a docela mě dostává.

 
Odpovědět
28.10.2014 19:09
Avatar
gcx11
Redaktor
Avatar
Odpovídá na rybiz
gcx11:28.10.2014 20:12

Co na ní nechápeš?

 
Odpovědět
28.10.2014 20:12
Avatar
NeonMaster
Člen
Avatar
NeonMaster:20.1.2015 10:37

Prosím pomůžete mi zkoušel jsem ale mám problém prostě program se ihned zavře nevím proč kód jsem zkoušel zkopírovat. Nevíte někdo proč to tak dělá?

#!/usr/bin/env python3

print("Já jsem první řádka.")
print("A já druhá.")
input()

a jak říkám kód jsem napsal sám nešlo tak jsem to zkopíroval a nejde to přesně tohle tam mám 8| :(

 
Odpovědět
20.1.2015 10:37
Avatar
gcx11
Redaktor
Avatar
Odpovídá na NeonMaster
gcx11:20.1.2015 12:06

Ahoj, nejspis pouzivas Python 2, zkus to spustit v IDLE a napis sem chybovou hlasku.

 
Odpovědět
20.1.2015 12:06
Avatar
NeonMaster
Člen
Avatar
Odpovídá na gcx11
NeonMaster:21.1.2015 15:59

Mám problém nemám IDLE psal jsem v PSPadu a kam se nainstalovalo IDLE? nemužu ho najít.
A python mám verzi 3.4. Potom jsem to ještě zkoušel a někdy mi to jde někdy ne (většinou ne) je to takové divné.

 
Odpovědět
21.1.2015 15:59
Avatar
gcx11
Redaktor
Avatar
Odpovídá na NeonMaster
gcx11:21.1.2015 16:18

Jestli máš Windows, tak zadej idle do vyhledávácí nábídky startu, popř. klikni na pythonovský skript pravým tlačítkem a zvol volbu Edit with IDLE. Pokud ne, tak spouštěčka pro IDLE je tam, kam jsi nainstaloval Python. Cesta: cesta_do_adre­sare_s_pythonem + /idlelib/idle.pyw

Editováno 21.1.2015 16:18
 
Odpovědět
21.1.2015 16:18
Avatar
gcx11
Redaktor
Avatar
Odpovídá na NeonMaster
gcx11:21.1.2015 16:27

Oprava:
Cesta: cesta_do_adre­sare_s_pythonem + Lib/idlelib/i­dle.pyw

 
Odpovědět
21.1.2015 16:27
Avatar
NeonMaster
Člen
Avatar
Odpovídá na gcx11
NeonMaster:22.1.2015 12:16

Nevím proč ale v IDLE mi to ten problém nedělá. :)

 
Odpovědět
22.1.2015 12:16
Avatar
NeonMaster
Člen
Avatar
Odpovídá na NeonMaster
NeonMaster:22.1.2015 12:34

Zkouším co tam bylo za problém a vzal jsem starý program dal ho do IDLE a najednou fungoval. :o

 
Odpovědět
22.1.2015 12:34
Avatar
ondrasekno04
Člen
Avatar
ondrasekno04:6.3.2015 15:35

Nejspíš se ptám jako blbec, ale stejne. Když něco napíšu do Idle a pak to uložím jak to spustím ?

 
Odpovědět
6.3.2015 15:35
Avatar
ondrasekno04
Člen
Avatar
ondrasekno04:6.3.2015 15:35

Nejspíš se ptám jako blbec, ale stejne. Když něco napíšu do Idle a pak to uložím jak to spustím ?

 
Odpovědět
6.3.2015 15:35
Avatar
Odpovídá na ondrasekno04
Neaktivní uživatel:6.3.2015 15:37

Klávesa F5, nebo Run->Run Module. :)

Odpovědět
6.3.2015 15:37
Neaktivní uživatelský účet
Avatar
Msprg
Člen
Avatar
Msprg:29.2.2016 21:09

nevie niekto preco sa mi to neotvara va tom ciernom okne ale v konzole v IDE?

 
Odpovědět
29.2.2016 21:09
Avatar
QClodd
Člen
Avatar
QClodd:22.3.2016 17:57

Použijte větu: All work and no play makes Jack a dull boy. Každé slovo uložte do samostatné proměnné a potom větu vytiskněte na jeden řádek s použitím funkce print(). Prosím mohl by mi někdo s touto úlohou pomoci :) děkuji mnohokrát za ochotu

Odpovědět
22.3.2016 17:57
We are not here to take part we are here to take over
Avatar
David Hanina
Člen
Avatar
Odpovídá na QClodd
David Hanina:22.3.2016 19:16

Ahoj, s čím přesně si nevíš rady ?

 
Odpovědět
22.3.2016 19:16
Avatar
QClodd
Člen
Avatar
QClodd:22.3.2016 20:27

Ahoj,nevím jak mám vlastně každé slovo uložit do samostatné proměnné a pak sečíst všechny ty proměnné,aby mi to dalo větu. Například jsem psal: a =All, b = work,... a pak dal print(A + b +,..) zkrátka nevím,jak mám zapsat proměnné kde je text

Odpovědět
22.3.2016 20:27
We are not here to take part we are here to take over
Avatar
gcx11
Redaktor
Avatar
Odpovídá na QClodd
gcx11:28.3.2016 2:16

Ahoj, musíš kolem nich dát uvozovky.

text = "Nějaký text"
 
Odpovědět
28.3.2016 2:16
Avatar
QClodd
Člen
Avatar
QClodd:28.3.2016 10:32

Ahoj,děkuji mockrát :) už jsem na to došel :)

Odpovědět
28.3.2016 10:32
We are not here to take part we are here to take over
Avatar
Mirec
Člen
Avatar
Mirec:4.9.2016 18:58

zdravim, k tomu parsovaniu som sa chcel spytat tak bokom..v inych navodoch som vydel spominanu funkciu "eval" aky je v tom rozdiel kedy sa tato funkcia pouziva? dakujem

 
Odpovědět
4.9.2016 18:58
Avatar
Mirec
Člen
Avatar
Mirec:4.9.2016 21:43

*videl :)

 
Odpovědět
4.9.2016 21:43
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Mirec
gcx11:5.9.2016 15:16

Pro Python 2 platí, že funkce input není to samé jako v Pythonu 3.

Kód v Pythonu 2:

cislo = raw_input("Zadej číslo: ")

Ten samý kód v Pythonu 3:

cislo = input("Zadej číslo: ")

Python 2 také obsahuje input, ale ten funguje trochu jinak a nebezpečněji.

cislo = input("Zadej číslo: ")

Což je to samé jako v Pythonu 3:

cislo = eval(input("Zadej číslo: "))

Funguje to podobně, ale je to dost nebezpečné.

Pokud zadáš místo čísla na vstup:

__import__("subprocess").call(["cmd.exe"])

a používáš Windows, tak se otevře konzole a můžeš se potom přes tvůj jednoduchý program na parsování čísel hrabat v systému.

Editováno 5.9.2016 15:17
 
Odpovědět
5.9.2016 15:16
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Mirec
gcx11:5.9.2016 15:18

A abych odpověděl na otázku, tak na parsování nikdy, pokud máš rozum.

 
Odpovědět
5.9.2016 15:18
Avatar
gcx11
Redaktor
Avatar
Odpovídá na gcx11
gcx11:5.9.2016 15:31

Mám v tom chybu, začátek má být:
Kód v Pythonu 2:

cislo = int(raw_input("Zadej číslo: "))

Ten samý kód v Pythonu 3:

cislo = int(input("Zadej číslo: "))
Editováno 5.9.2016 15:31
 
Odpovědět
5.9.2016 15:31
Avatar
Vít Jetmar
Člen
Avatar
Vít Jetmar:5.11.2016 23:40

Toto je pouze k počítači? Nebo mám prostě jiný Python na telefonu?

 
Odpovědět
5.11.2016 23:40
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Vít Jetmar
gcx11:7.11.2016 10:20

Myslíš to input? Pokud ano, tak bych řekl, že tam máš jiný Python. Tohle je základní standart Pythonu, který by měla dodržovat i ta implementace na telefonu.

 
Odpovědět
7.11.2016 10:20
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jaroslav Trojan
Redaktor
Avatar
Jaroslav Trojan:18.4.2017 8:19

Ahoj, když napíšu program, jak ho spustím ? Děkuji.

Odpovědět
18.4.2017 8:19
statik
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Jaroslav Trojan
gcx11:18.4.2017 9:17

Bud z IDLE, kde pouzijes klavesu F5 nebo z prikazove radky prikazem python <jmeno_programu>.py

 
Odpovědět
18.4.2017 9:17
Avatar
Pluhtík
Člen
Avatar
Pluhtík:11.6.2017 0:46

Zkouším Python a mám problém. Podle tohoto článku by Python měl sám poznat, o jaký se jedná datový typ. Jenže v mém programu to nepoznal a místo desetinného čísla mi používá integer, viz obrázek. Čím to je?

edit. přesněji Python mi vůbec nepovolí desetinná čísla, jak sami můžete vidět.

Editováno 11.6.2017 0:48
 
Odpovědět
11.6.2017 0:46
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Pluhtík
gcx11:11.6.2017 12:41

Je to tím, že používáš starou verzi Pythonu.

 
Odpovědět
11.6.2017 12:41
Avatar
Pluhtík
Člen
Avatar
Odpovídá na gcx11
Pluhtík:11.6.2017 17:07

Pomůže přeinstalovat IDLE?

 
Odpovědět
11.6.2017 17:07
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Pluhtík
Adam Ježek:11.6.2017 18:02

Ano, ale musíš stáhnout IDLE pro Python 3.6, nikoli 2.7

Odpovědět
11.6.2017 18:02
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Pluhtík
Člen
Avatar
Pluhtík:11.6.2017 22:44

Už tu ta otázka jednou byla, ale odpověď na ni není - proč se mi program po stisku F5 spouští v IDLE a ne v příkazovém řádku?

 
Odpovědět
11.6.2017 22:44
Avatar
Matej Sigut
Člen
Avatar
Matej Sigut:14.7.2017 20:16

Syntaxe jsou vybarveny podle Notepad+ +, ne podle Python IDLE.

 
Odpovědět
14.7.2017 20:16
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Pluhtík
hanpari:14.7.2017 21:27

Pokud píšeš v Idle a stisknes F5, je to totéž jako napsat do příkazové řádky:

>>> python -i soubor.py

Můžeš dál pracovat se spuštěným programem. Což Idle předpokládá, že budeš chtít dělat.

Pokud chceš nechat program jen jednou proběhnout do konce, pak z příkazové řádky napiš:

>>> python soubor.py

 
Odpovědět
14.7.2017 21:27
Avatar
madewman
Člen
Avatar
madewman:17.7.2017 21:44

Mám problém so spustením programu vždy keď ho spustím tak mi vyskočí toto okno a nie cmd.

Odpovědět
17.7.2017 21:44
"Whether you think you can, or you think you can't - you're right."(Henry Ford)
Avatar
Mira Maděra
Člen
Avatar
Mira Maděra:28.7.2017 22:24

Dobře se to učí.

 
Odpovědět
28.7.2017 22:24
Avatar
Mr.Windu
Člen
Avatar
Mr.Windu:10.8.2017 13:57

Zatím to jde, je to logické, přehledné, uvidíme dále:-)

 
Odpovědět
10.8.2017 13:57
Avatar
Sm1leCZ
Člen
Avatar
Sm1leCZ:7.9.2017 22:27

Děkuji za zajímavé postřehy získané i z této lekce. :)

 
Odpovědět
7.9.2017 22:27
Avatar
Odpovídá na madewman
Michal Martinec:10.9.2017 22:09

To tak ma byt. Nie je to chyba. V CMD sa ti to otvori ked ten subor spustis priamo. Inak ten prvy riadok #...... pisat nemusis kedze pracujes v systeme Window a nie v Linuxe. On to tam pisat musi lebo to robi v Linuxe.

Editováno 10.9.2017 22:10
Odpovědět
10.9.2017 22:09
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Sergej Hilkopakír:3.1.2018 18:33

For Fun
print("Best Friend Forever")
word = input("Username: ")
END ="I HATE YOU " + word +"!"
print(END)
input()

Odpovědět
3.1.2018 18:33
Jesus programing us
Avatar
cinkim
Člen
Avatar
cinkim:2.10.2018 15:31

Díky za tyto stránky, zatím je to pro mě moc zajímavé.
Narazil jsem na tento kód.

print("Já jsem první část textu", "a já druhá!")
input()

Stejný výsledek ale dosáhnu i takto
print("Já jsem první část textu a já druhá")
input()

Jaký význam tedy má vložená čárka?
Díky

 
Odpovědět
2.10.2018 15:31
Avatar
krepsy3
Editor
Avatar
Odpovídá na cinkim
krepsy3:3.10.2018 7:43

Jak vidíš, vložena je nejen čárka, ale i další uvozovky. První kód by vypsal "Já jsem první část textua já druhá", druhý kód "Já jsem první část textu a já druhá".

Znamená to tedy, že do první funkce print() vložíš dva argumenty typu string. Tyto jsou funkcí automaticky spojeny v jeden, říká se tomu konkatenace textu. Když by jedna z proměnných byla generována předchozím kódem. Čti tutoriál dále a dozvíš se více :)

Odpovědět
3.10.2018 7:43
Programátor je stroj k převodu kávy na kód.
Avatar
Robert Poch
Člen
Avatar
Odpovídá na gcx11
Robert Poch:11.10.2018 19:55

Já děkuji za přehlednou výuku

 
Odpovědět
11.10.2018 19:55
Avatar
Vít Burian
Člen
Avatar
Vít Burian:28.10.2018 9:28

Díky za kurz velmi pěkný, nevíte prosím jak v IDLE když píši funkci např. print("Jejich součet je:", první_číslo + druhé_číslo), abych nemusel pořád ručně psát např. první_číslo vygenerovat třeba tabulátorem možnosti jak je to v cmd? díky za info

 
Odpovědět
28.10.2018 9:28
Avatar
Vít Burian
Člen
Avatar
Vít Burian:28.10.2018 10:12

beru zpět daný dotaz, už mě tabulátor funguje v IDLE na doplňování textu či funkcí :-)

 
Odpovědět
28.10.2018 10:12
Avatar
Jakub Podskalský:17.12.2018 19:49

Dovolím si upozornit na malou chybku hned v první větě - místo "matematické" tam je "matetické". Jinak se mi zdá článek obsahově zajímavý a pochopitelný. :-) Možná bych udělal malou poznámku, proč jsi vlastně použil na každém konci prázdnou funkci input(). Pochopil jsem tvůj záměr dobře, že jsi chtěl zkrátka každý konečný výstup potvrdit enterem pro přehlednost? Z komentářů jsem vyhlídl, že to všichni nováčci opakovali i u sebe a zřejmě to vzali jako povinnou část kódu. V pythonu jsem už o dost dále, ale rád si zopakuju veškerý syntax a názvy i v češtině. :-P

Editováno 17.12.2018 19:51
 
Odpovědět
17.12.2018 19:49
Avatar
dominik troya:27.12.2018 1:19

Hele pohoda!!!

 
Odpovědět
27.12.2018 1:19
Avatar
Lukáš Kohl
Člen
Avatar
Lukáš Kohl:7.9.2019 8:54

Zdravím, když pročítám počáteční tutoriály vše je super, ale jak spustím konzoli? Po konci zkouším vyvolat print, ale konzole s výsledkem se neotevře.

 
Odpovědět
7.9.2019 8:54
Avatar
trnx
Člen
Avatar
trnx:24.9.2019 8:14

Děkuji za pěkně napsanou lekci.

 
Odpovědět
24.9.2019 8:14
Avatar
Tomáš Koutník:3.10.2019 21:54

Druhá lekce také pěkně sepsána.

 
Odpovědět
3.10.2019 21:54
Avatar
Jan Barák
Člen
Avatar
Jan Barák:15.10.2019 8:59

Ahoj všem mám ted malé dilema používám PyCharm teprve ho skouším předtím sem delal ve VS ... a vypíše mi to výsledek ikdyž tam neni psané to input() na konci a funguje vše jak má a nepíše mi to chybu tak nevím jestli to tam musí být nebo ne ve VS mi to vynadalo že to tam není a tady to funguje bez toho.

 
Odpovědět
15.10.2019 8:59
Avatar
Odpovídá na Jan Barák
Jakub Podskalský:15.10.2019 20:02

input žádnou zásadní funkci na posledním řádku v těchto příkladech nemá. Jak víš, tak input je funkce pro získání vstupu uživatele. Takže je spíš takový koncovač programu, abys zmáčkl libovolnou klávesu... (tím může být i mezera nebo enter, zkrátka celá klávesnice)

 
Odpovědět
15.10.2019 20:02
Avatar
Michal Brejcha:16.10.2019 19:06

Tak za mě to je paráda zatím to funguje.

 
Odpovědět
16.10.2019 19:06
Avatar
milan.hala
Člen
Avatar
milan.hala:9.11.2019 21:07

Ahoj, u kalkulačky se mi vyskytl zajímavý problém. Vše funguje, ale když zadám třeba čísla 0,7 a 0,8 tak výsledek násobku vychází 0,55999999... Zkoušel jsem zkopírovat kód tady ze stránek a výsledek byl stejný. Dokonce i když spustím kód přímo tady na stránkách, vychází to stejně. Násobil jsem ty čísla i v konzoli a stále to vychází nepřesně. Co jsem se dočetl, jde o problém nepřesného zapsání floatu - zajímá mě, lze tohle nějak obejít nebo vyřešit pro případ, kdybych potřeboval přesné výpočty?

 
Odpovědět
9.11.2019 21:07
Avatar
Odpovídá na milan.hala
Matěj Přerovský:9.11.2019 21:52

Můžeš si to zaokrouhlit pomocí round()

#!/usr/bin/env python3

print("Vítejte v kalkulačce\n")
první_číslo = float(input("Zadejte první číslo: "))
druhé_číslo = float(input("Zadejte druhé číslo: "))
print("Součet:", první_číslo + druhé_číslo)
print("Rozdíl:", první_číslo - druhé_číslo)
print("Součin:", round(první_číslo * druhé_číslo, 2))
print("Podíl:", první_číslo / druhé_číslo)
input("\nDěkuji za použití kalkulačky, aplikaci ukončíte libovolnou klávesou.")
Odpovědět
9.11.2019 21:52
42
Avatar
Standa H.
Člen
Avatar
Standa H.:25.11.2019 13:56

Ahoj, už od papouška mi kod nefunguje,pokud jej spustím v konzoli mám pouze

Ahoj, jsem virtuální papoušek Lóra, rád opakuji!
Napiš něco:
dík za radu

 
Odpovědět
25.11.2019 13:56
Avatar
Filip Šídlo:7. ledna 5:42

Dobrý den, zajímalo by mě proč se mi program nevypne když na konci něco zmáčknu. Ten input na konci se tam od verez 3.8 psát nemusí ? díky

 
Odpovědět
7. ledna 5:42
Avatar
Vilfein
Člen
Avatar
Vilfein:31. ledna 19:20

Opravdu perfektně napsaná lekce :)

 
Odpovědět
31. ledna 19:20
Avatar
Odpovídá na Jegor Semenov
Jegor Semenov:1. dubna 20:58

už jsem zjistil

Editováno 1. dubna 21:00
 
Odpovědět
1. dubna 20:58
Avatar
Jarda Mraček:27. dubna 10:21

Zdravím, mohl by mě někdo posunout prosím.. potřeboval bych do proměnné načíst více než jedno číslo. Například řadu celých čísel oddělených čárkou a tyto čísla pak třeba sečíst, udělat z nich průměr atd.. Ty matematické operace chápu, ale nevím jak dostat to proměnné více čísel.. Díky moc!

 
Odpovědět
27. dubna 10:21
Avatar
Fíla N.
Člen
Avatar
Odpovídá na Jarda Mraček
Fíla N.:27. dubna 12:02

Ok, přispěji svým svým amatérským názorem :D
Nejspíš tak, že by si na vstupu zadal všechna čísla oddělená čárkou, pomocí splitu to rozdělil do pole a pak s tím pracoval dál

 
Odpovědět
27. dubna 12:02
Avatar
Jarda Mraček:27. dubna 12:08

Díky moc! Možná jsem moc hrrr a měl bych si napřed pořádně přečíst základy a pak až se ptát, ať moc neotravuju :D Teď už jsem o kousek chytřejší a místo "obyčejné" proměnné budou mít v tomto případě význam seznamy. Ty už jsem nějak nastudoval a pro můj účel ideální. Akorát je to dycky seznam, který já jako tvůrce zadám.. Potřebuju se ale dostat do fáze, aby ten seznam zadal uživatel z klávesnice a na základě těchto dat už by se provedli požadované operace.. Druhá volba je ještě externí soubor s daty, ale ta klávesnice mi připadá víc user friendly.. No nějak se k výsledku snad doplazím :)

 
Odpovědět
27. dubna 12:08
Avatar
Rozbita Zaluzie:15. května 18:02

Díky moc jen by mě zajímalo jestli nejde nějak nastavit UTF-8 protože mi nefunguje diakritika a při outputu mě to odkazuje na tento problém

 
Odpovědět
15. května 18:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 76 zpráv z 76.