Ahoj,
mám na vás triviální dotaz. Jak už z názvu vypovídá, potřebuji v programu vytvořit "návěstí" kam mi bude program skákat při splnění / nesplnění podmínky. Řekněme, že mám funkci, která je založená na komparatoru složeného z ifu. V případě stejného čísla dojde k splnění podmínky a vygeneruje nové číslo. Teď potřebuji, aby se mi program vrátil na začátek funkce a znovu projel celej řetězec.
Python - skok v programu na určitý řádek
Re: Python - skok v programu na určitý řádek
Máš nějaký velmi vážný důvod, proč nepoužít normální cyklus? Ale opravdu vážný, jako například obojek s výbušninou kolem krku, který exploduje když zmáčkneš klávesu W? To že si pleteš Python s BASICem není dostatečně vážný důvod.
Pokud tedy jde tobě nebo někomu blízkému o život, dá se to udělat takhle:
Nalezeno zde: http://stackoverflow.com/questions/1886 ... -in-python
Takhle se programovalo kdysi v BASICu a není to dobrý způsob. Strukturovaně se to dá udělat také, a program je potom mnohem přehlednější. Vlastně neexistuje věc, která by se s dodržením zásad strukturovaného programování nedala udělat!
Pokud tedy jde tobě nebo někomu blízkému o život, dá se to udělat takhle:
Kód: Vybrat vše
number = input()
if number < 0: goto negative
if number % 2 == 0:
print "even"
else:
print "odd"
goto end
label: negative
print "negative"
label: end
print "all done"
Nalezeno zde: http://stackoverflow.com/questions/1886 ... -in-python
Takhle se programovalo kdysi v BASICu a není to dobrý způsob. Strukturovaně se to dá udělat také, a program je potom mnohem přehlednější. Vlastně neexistuje věc, která by se s dodržením zásad strukturovaného programování nedala udělat!
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Python - skok v programu na určitý řádek
Ten důvod je, že jsem pořád trochu nakažený asemblerem a nevěděl jsem jak inteligentně to napsat. Díky
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Python - skok v programu na určitý řádek
Pokud se něco opakuje tak tam dej cyklus nebo relurzi.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: Python - skok v programu na určitý řádek
I Pure Basic taktně mlčí o tom, že příkaz Goto (label) obsahuje. Ale funguje ...
Re: Python - skok v programu na určitý řádek
Příkaz GOTO je stále přítomný i v "moderních" jazycích, ať v čisté podobě nebo maskovaný jako break, continue... Dokonce s vylepšeními, třeba možnost breaknutí víc cyklů najednou. Fajn věc, dost užitečná. Ale přestože BASIC, který byl na GOTO založený, je můj první a stále nejoblíbenější jazyk, tak mě děsí představa že je dnes někdo schopný vyplodit něco takového:
To se klidně přiznám že se v různých malých programátorských prasárničkách a neobvyklých technikách občas poněkud vyžívám, ale tohle ne, tohle opravdu NE!
Kód: Vybrat vše
int p,k,l,i,j,d,q,R,t,r;
S1: s=0; p=1;
S2: if (s==0) { i=1; j=n; k=n; l=2*n+1; }
if (s==1) { i=n+1; j=2*n; k=0; l=n+1; }
d=1; q=p; r=p;
S3: if (x[i]>K>x[j]->K) goto S8;
S4: k=k+d; x[k]=x[i]; c[k]=c[i];
S5: i+=1; q-=1; if (q>0) goto S3;
S6: k+=d; if (k==l) goto S13; else x[k]=x[j];c[k]=c[j];
S7: j-=1; r-=1; if (r>0) goto S6; else goto S12;
S8: k+=d; x[k]=x[j]; c[k]=c[j];
S9: j-=1; r-=1; if (r>0) goto S3;
S10: k+=d; if (k==l) goto S13; else x[k]=x[i];c[k]=c[i];
S11: i+=1; q-=1; if (q>0) goto S10;
S12: q=p; r=p; d=-d; t=k; k=l; l=t; if (j-i<p) goto S10; else goto S3;
S13: p+=p; if (p<n) { s=1-s; goto S2; }
if (s==0) for (t=1; t<=n; t+=1) { x[t]=x[t+n];c[t]=c[t+n] }
To se klidně přiznám že se v různých malých programátorských prasárničkách a neobvyklých technikách občas poněkud vyžívám, ale tohle ne, tohle opravdu NE!
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
- satik
- Level 6
- Příspěvky: 3509
- Registrován: leden 15
- Bydliště: Krkonoše
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Python - skok v programu na určitý řádek
Když se někde na fóru strhne diskuze o GOTO, tak vždycky patřím k těm, podle kterých jsou chvíle, kdy GOTO smysl má a je lepší, ale tenhle případ to rozhodně není :)
v tvém případě to vidím na "nekonecny" while cyklus, na jehoz konci bude break a ve kterem bude ta tvoje podminka a kdyz budes ten kod chtit spustit znova, tak jen zavolas continue (teda nevim, jak se obdoby tech prikazu jmenuji v pythonu)
v tvém případě to vidím na "nekonecny" while cyklus, na jehoz konci bude break a ve kterem bude ta tvoje podminka a kdyz budes ten kod chtit spustit znova, tak jen zavolas continue (teda nevim, jak se obdoby tech prikazu jmenuji v pythonu)
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Excel VBA funkčnost comboboxu aby vypsal určitý řetězec Příloha(y)
od Marines93 » 29 srp 2024 09:02 » v Kancelářské balíky - 2
- 3327
-
od Marines93
Zobrazit poslední příspěvek
09 zář 2024 09:38
-
-
- 4
- 1135
-
od zik9
Zobrazit poslední příspěvek
12 čer 2025 15:33
-
-
Panely otevřených programů na hlavním panelu Příloha(y)
od Prorock » 20 říj 2024 15:00 » v Windows 11, 10, 8... - 28
- 7886
-
od Prorock
Zobrazit poslední příspěvek
02 lis 2024 13:41
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů