#26 Kit
perfektní - funguje to a rozumím tomu - dík za pomoc !!!
Příspěvky odeslané z IP adresy 213.192.19.–
#14 hanpari
zkusil jsem můj nahoře uvedený příklad napsat dle rady takhle:
a = 255
ucty_x = (123, 255, 785)
#ucty_x = [(123, 255, 785), range(400,651)]
ucty_y = range(100,400)
print(a)
if a in ucty_x:
print ("vypocet-x")
if a in ucty_y:
print ("vypocet-y")
ale "range" v definici množiny "ucty-x" dle komentařového řádku způsobí, že se množina "ucty-x" vůbec nevyhodnocuje - něco mám špatně a nevím co - - - :o(
#9 Kit
dík za radu - upřesnňuji, že programováním se zabývám už jen pro "cvičení šedých mozkových buněk" a důvod, který mě dovedl k Pythonu je prozaický - konec Windows XP znamená konec možnosti pracovat s MX COBOL free kompilátorem http://cev.cemotel.cz/cobol/, který dělá .exe přes historické Turbo C 2.0, které je prakticky v DOS
protože si hraju se statickým generováním html/css/js pro vlastní stránky http://mim.cemotel.cz/ a s různými dalšími věcmi ve Windows, tak jsem hledal nějaký vhodný free nástroj především pro desktop práci - OpenCobol je až příliš vázán na překladač a knihovny C, což je pro "C-laika" dost složitá instalace a taky jsem si chtěl vyzkoušet něco nového - Python se mi zdá dost zajímavý - práce v PHP či SQL vyžaduje programování na serveru, do kterého se na stará kolena (*1938) už nechci pouštět
z příkladů, které jste mi s kolegy poradili jsem pochopil, že asi nejblíže podmínkovým jménům v Cobolu je porovnání, zda je hodnota proměnné v určitém setu "if a in ucty_x: atd ..." s tím, že případný test na interval hodnot by asi pomocí setu nešel, ale musela by se napsat funkce ...
doporučení využívat raději string je dobrá rada - s různými datovými typy, které jsou v nových jazycích Pascalovského typu, ke kterým patří i Python dost zápasím, protože příkazy v Cobolu dělají typovou kontrolu jen při skutečných výpočtech a jinak se všemi typy proměnných či skupinami pracují stejně
dík za konkretní rady - podumám nad tím a uvidím, zda pochopím - ona je to úplně jiná filosofie, pokud jde o třídy a objekty - ale jinak se mi zatím Python jeví jako velice přehledný, především svojí formou zápisu bez povinných oddělovačů a s odsazováním, což je mému stylu psaní velice blízké - :o)))
#4 KIIV
dík za radu, ale moc moudrý z ní nejsem - nejde o jednu hodnotu, ale o pojmenování různých množin hodnot jedné proměnné tak, abych při rozhodování, zda se použijee algoritmus "vypocet-x" či jiný využíval pouze jejich uvedená symbolická pojmenování - můžeš mi pro uvedený příklad "ucet-x" načrtnout, jak to myslíš ? - dík
dík za rychlou reakci - tady je příklad
(77 = deklarace proměnné a, 88 = definice podmínkových jmena a jejich true hodnot)
working-storage section.
77 a pic 999.
88 ucty-x value 123, 255, 785, 400 thru 650.
88 ucty-y value 100 thru 399.
... atd dle potřeby
procedure division.
...
v rámci procedury příkazů, která může být značně rozsáhlá pak není nutné se zabývat konkretními hodnotami proměnné "a", ale testují se pouze symbolická podmínková jména a testy mohou být i na více místech
...
if ucty-x
perform vypocet-x
...
cílem je důsledné oddělení algoritmu výpočtu od definice dat - v tomto příkladu čísel účtů, která řídí výpočet - jestliže paní účetní si přidá do množiny ucet-x, zpracovávané algoritmem vypocet-x další číslo, nebo interval, není potřeba to ani složitě hledat, ani případně ošetřovat na více místech
děkuji za jakékoliv další postrčení :o))) - ČeV
po více než 40 letech programátorské praxe v jazyku Cobol se začínám učit programovat v Pythonu a v té souvislosti mám dotaz:
v Cobolu existuje praktická konstrukce "podmínkové jméno", která umožňuje samostatně pojmenovat
množinu hodnot, kterých může nabývat určitá proměnná - tím se dá velice dobře oddělit algoritmus
zpracování ve zdrojovém programu od konkretních dat, protože se nemusí testovat výčet prvků množiny,
ale pouze "true" hodnota podmínkového jména
děkuji za sdělení, zda existuje něco podobného i v Pythonu - zatím se mi to nepodařilo najít