Anonymní profil fo – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil fo – Programujte.comAnonymní profil fo – Programujte.com

 

Příspěvky odeslané z IP adresy 188.167.34.–

Python › několikanásobné mocniny
9. 6. 2013   #177710

Tá list() je tam zbytočná, tak žiadne asi :)

Python › několikanásobné mocniny
7. 6. 2013   #177514

#12 Marek Kadlčík

Pekne si sa vynašiel :)

Každopádne,

namiesto tohto:



print(functools.reduce(operator.pow, list(int(x) for x in input("Příklad: ").replace("*",""))))


by som dal toto:



print(functools.reduce(operator.pow, (int(x) for x in input("Příklad: ").replace("*",""))))

Keď nevieš, koľko má tých čísiel byť, radšej použi generátorovský výraz.

Využitie funkcie list() stojí nejaký čas aj výkon, + gen. výrazy sú šetrnejšie pre pamäť počítača

fo
Python › několikanásobné mocniny
7. 6. 2013   #177511

#9 Marek Kadlčík
Čo konkrétne sa ti zdá nejasné? :)

fo
Python › několikanásobné mocniny
7. 6. 2013   #177502

#6 fo

import string
import functools
import operator

def vyclen_integre(retazec):
	""" Vrati zoznam cislic nachadzajucich sa v danom retazci. """
	integre = []
	for znak in retazec:
		if znak in string.digits:
			integre.append(int(znak))
	return integre

print(functools.reduce(operator.pow, vyclen_integre(input("Vas retazec: "))))

Dalšia oprava, sorry, z toho štamprlíčka pred chvilou mi stále brní v hlave :(

fo
Python › několikanásobné mocniny
7. 6. 2013   #177500

#5 fo
Pardon , oprava, uvedomil som si jednu svoju logicku chybu :)

import string
import functools

def vyclen_integre(retazec):
	""" Vrati zoznam cislic nachadzajucich sa v danom retazci. """
	integre = []
	for znak in retazec:
		if znak in string.digits:
			integre.append(int(znak))
	return integre

print(functools.reduce(operator.pow, vyclen_integre(input("Vas retazec: "))))
fo
Python › několikanásobné mocniny
7. 6. 2013   #177499

Hmm, povedal by som, že ten druhý kód bude to, čo hľadáš :)

fo
Python › několikanásobné mocniny
7. 6. 2013   #177498

Hmm, neviem či som správne všetko pochopil.. Ale tu je niekoľko možností (nakoľko si neuviedol žiadnu modelovú situáciu:

zoznam_umocnovania = [2, 3, 2, 3, 5] # tento zoznam si predtym naplnil uživatel/programator
cislo = int(input("Zadajte cislo: "))
for exponent in zoznam_umocnovania:
	cislo **= exponent
print("Hodnota cisla je {0}.".format(cislo))

Ďalšie riešenie, rozdelenie a spracovanie retazca:

import string
import functools

def vyclen_integre(retazec):
	""" Vrati zoznam cislic nachadzajucich sa v danom retazci. """
	integre = []
	for znak in retazec:
		if znak in string.digits:
			integre.append(znak)
	return integre

print(functools.reduce(operator.pow, vyclen_integre(input("Vas retazec: "))))

Mozno to vyzerá desne, ale na tebou zadnu ulohu, nemôžeš čakat oneliner.

fo
Python › několikanásobné mocniny
7. 6. 2013   #177490

#1 Marek Kadlčík
(2**2)**2 = 16

((2**2)**2)**2 = 256

Zátvorky sú ešte silnejšie ako mocniny

Do výrazov môžeš dávať len gulaté zátvorky.

fo
Python › Parťák na programování
6. 6. 2013   #177404

#3 Michal7
Konkrétne na ten starý formulár, čo tu bol predtým.

fo
Python › Parťák na programování
5. 6. 2013   #177359

#1 Michal7
Ahoj,
ja som sa ti už ozval, ale neviem, či to stále platí, resp. či máš záujem.

fo
Python › Print syntax error
2. 6. 2013   #177146

Pardon ,nevšmiol som si KIIV-ov príspevok :)

fo
Python › Print syntax error
2. 6. 2013   #177145

#1 Akimi Keita
Záleží na tom, či používaš Python2, alebo Python3.

Ak Python3, tak skús: 

print("Hello world!")
fo
Python › Python a SQlite
30. 5. 2013   #176988
fo
CSS › Problém CSS DIV + text
27. 5. 2013   #176832

#26 ANV
Inak,

#faq_stred
{
background: url(http://s22.postimg.org/…aq_stred.png) repeat-x;
display:inline-block;		
padding-top: 5px;		//Vnútorny okraj od hora
padding-bottom: 5px;		//Vnútorny okraj od dola
position: absolute;	

Prečo je tu position : absolute?

Tak by sa dotyčný blok umiestnil do ľavého horného tela celého dokumentu..

Alebo je tam zase nejaký fígeľ s display: inline-block?

A prečo je zase faq_vlavo position: relative? Ospravedlňujem sa, za moje prípadné omyly/dotazy, ale tiež nie som v CSS najviac doma.
 

fo
CSS › Problém CSS DIV + text
27. 5. 2013   #176828

#23 Anonym
neviem, či som dobre pochopil, čo konkrétne potrebuješ...

kedže ten text je vlastne "block", tak by si mohol nastavit max-width, aby nebol príliš dlhý.

Alebo chceš dlhšie slovo "viac natlačiť na seba" ? - tak potom letter-spacing

fo
Python › Nejde Graphics Window
27. 5. 2013   #176824
fo
Python › Nejde Graphics Window
27. 5. 2013   #176822

#5 Quikc
+ k tomuto (pokial si dobre pamätám, bola funkcia sleep(počet sekund)

fo
Python › Nejde Graphics Window
27. 5. 2013   #176821

Ako som spomínal, nie je veľmi potrebné sa učiť livewires.

Lebo napríklad, kde by si tento modul používal?
V oknách tí postačí kresliace API Canvas v moduli tkinter.

fo
Python › Nejde Graphics Window
27. 5. 2013   #176817

#3 fo
Taktiež nemá veľmi zmysel, podľa môjho názoru, sa učiť livewires...

Tutoriál tuto na programujte je dobrý, ale kedže je nedokončený, a niektoré lekcie písané "narýchlo", radšej by som sa poohliadol po nejakom inom.

fo
Python › Nejde Graphics Window
27. 5. 2013   #176816

A len taká drobnosť.. pokiaľ začínaš s Pythonom, tak rovno začni s verziou 3 a viac.

Vplyv 2.x sa postupom času bude zmenšovať.

fo
Python › Nejde Graphics Window
27. 5. 2013   #176815

#1 Quikc
Livewires som sa už dávno neskúšal, ale myslím že na koniec treba end_graphics()

fo
CSS › Problém CSS DIV + text
26. 5. 2013   #176711

Skús nastaviť padding-bottom na väčšiu hodnotu, napr. na 35 pixelov. Malo by sa to posunúť smerom nahor.

fo
CSS › Problém CSS DIV + text
26. 5. 2013   #176709

#10 fo

#faq_stred
{
background: url(images/icons/faq_stred.png) repeat-x;
display:inline-block;
padding-bottom:16px;
}
fo
CSS › Problém CSS DIV + text
26. 5. 2013   #176708

   

#faq_stred
{
background: url(images/icons/faq_stred.png) repeat-x;
display:inline-block;
padding-top:16px;
}

Toto ANV-ovo riešenie je správne, akurát tam zmeň to padding-top na padding-bottom.

Tak dosiahneš opačného efektu, ako ti vyšiel predtým (posunutie dole), takže sa to posunie hore.

fo
CSS › Problém CSS DIV + text
26. 5. 2013   #176677

#5 fo
no, ked sa tak na to pozerám, ti úplne stači ANV-ovo riešenie, akorát nahrat to padding-top za padding-bottom :)

fo
CSS › Problém CSS DIV + text
26. 5. 2013   #176676

#1 Anonym
K samotnému OBSAHU DIV-u, by si mohol pridať:

display: block;
padding-bottom: 5px;

namiesto tých 5 samozrejme môže byť iné číslo, čím väčšie, tým viac hore by sa to malo posunúť.

fo
Python › Pygame instalace
23. 5. 2013   #176558

#2 Akimi Keita
Prečo by si sa mal strápniť? To, že niekomu niečo nejde, je absolútne normálne, je jedno o akú "pokročilosť" problému ide.

fo
Python › problém s prostředím v linuxu
15. 5. 2013   #176237

#1 Marek Kadlčík
Myslím, že Stany Python Editor pre Python3 jednoducho nie je (aspoň  v dobe, keď som toto prostredie využíval, som nič takého nenašiel.) Ako alternatívu pre SPE odporúčam Gedit. Je to síce na prvý pohľad ničím nezaujmujci textový editor, ale keď sa pohrabeš v ponuke Uložiť -> Nastavenia, a vyladíš ako je potrebné, hneď sa to zmení :)

Budeš si tam môcť vybrať farbu pozadia pri písaní kódu, spôsob zvýrazňovania syntaxe, počítadlo riadkov, ukazovateľ zalomenia riadkov (odporúčané nastaviť na štandardných 79 znakov), pythoní command line atď.

fo
Python › Samospustitelny program
6. 5. 2013   #175851

Alebo Freeze.

fo
Python › jak na chyby
6. 5. 2013   #175849

Skús sem vypísať/skopírovať presné znenie chyby(výnimky), ktorú si dostal.

fo
Python › Regulární výrazy
23. 4. 2013   #175403

#2 Petr
Načo ti je?

Použi re.findall, a posledná položka zoznamu je súčasne najpravejším výskytom :)

fo
Python › Regulární výrazy
23. 4. 2013   #175400

#1 Petr
Reťazcové metódy nepodporujú regulérne výrazy, na to je iba a iba funkcionalita v module re.

fo
Regulární výrazy › Regexp pro IBAN
7. 4. 2013   #174570

...

fo
Regulární výrazy › Regexp pro IBAN
7. 4. 2013   #174569

...

fo
Regulární výrazy › Regexp pro IBAN
7. 4. 2013   #174568

....

fo
Regulární výrazy › Regexp pro IBAN
7. 4. 2013   #174567

....

fo
Regulární výrazy › Regexp pro IBAN
7. 4. 2013   #174566

....

Python › pomoc s programom
22. 3. 2013   #173159

Nešpecifikoval si, kde/čo s tým chceš robiť. To možno závisí aj od OS:

1) Unix (Linuxové distrá, OS X atd)    

Otvoríš terminál (Ctrl-Lavý ALT-T),zadáš príkaz python [cesta k súboru]   (sudiac podla kodu je to napísané v Py2).

2) Windows         

Tu musí byt nainštalovaný python 2; nakolko narozdiel od unixov Python nie je sučastou štandardnej výbavy; potom by už len malo stačit odkliknutie ikonky

No, v každom prípade, mne to fičí :)

Python › Hľadám parťáka na vývoj prog…
17. 3. 2013   #172952

Dobrý deň/Zdravím,

hľadám nejakého ochotného človeka, ktorý sa učí Python(najlepšie 3) a bol by ochotný spolupracovať na rôznych projektíkoch v rámci učenia sa a prehlbovania znalostí Pythonu (vzájomné "vzdelávanie")

Podmienkou sú aspoň  základy jazyka. (ale zase nie expert, ja ním tiež nie som :) )

V prípade záujmu môžete napísať sem do fóra, alebo na romanbeno273@gmail.com

Ďakujem

prosteja
Python › Mazání widgetů z jednoho okna
12. 3. 2013   #172656

Keď využiješ geometrického sprácu GRID namiesto PACK, tak by si mohol dospieť k optimálnemu riešeniu.

Tam totiž keď umiestniš nejaký widget tam, kde už niečo je, pôvodný sa smaže a nahradí ho nový. Môžeš sa tiež pozrieť sem.

Príklad:

#! usr/bin/python3
# -*- coding: utf-8 -*-

from tkinter import Label 
# toto je pre python 3, v 3.0- to nefunguje.

root = Tk()
Label(root, bg = "yellow", text = "Prvý Label").grid(row = 0, column = 0, sticky = "w,e,s,n")
# sticky = "w,e,s,n" je ekvivalent .pack(fill=BOTH)  
Label(root, bg = "yellow", text = "Druhý Label").grid(row = 0, column = 0, sticky = "w,e,s,n")
root.mainloop()

Ked to spustíš, mal by si sa zobraziť len druhý Label.

Alebo, ked nechceš pomocou gridu widget nahradit, ale chceš ho úplne odstrániť:

konkretny_widget.grid_forget()

Musíš samozrejme využit správcu Grid 

prosteja
Python › proc nefunguje v pythone 3 p…
13. 2. 2013   #171485

KIIV má pravdu, python tri zmenil mechaniku vstupu stdin.

Funkca raw_input neexistuje a funkcia input vracia VŽDY retazec.

prosteja
Python › Ping to Boolean
12. 2. 2013   #171449

To by ma tiež zaujímalo...

prosteja
Python › proc to nejede
11. 2. 2013   #171388

V pythone nesmieš v jednom kóde používať medzery aj tabulátory na odsadenie, to je príčina tvojej chyby.

Možno by si to mohol skúsiť prepísať ručne, alebo proste to skopírovať celé presne ako to je,

pretože mne ten kód funguje bez problémov.

Ako hovoril sairon, chyba je zrejme niekde na tvojej strane.

prosteja
Python › proc to nejede
10. 2. 2013   #171364

sorry za triplepost, ale sem tam sa vludi preklep 

def vypis_prvocisla(minimum,maximum):
	for x in range(minimum,maximum+1):
  		for h in range(2,x):
   			if x%h==0: break
 		else: yield x
prvocisla=list(vypis_prvocisla(1000,2000))
print(prvocisla)
prosteja
Python › proc to nejede
10. 2. 2013   #171363

#12 prosteja
+ ako povedal sairon, ešte lepšie to bude takto:

def vypis_prvocisla(minimum,maximum):
	for x in range(minimum,maximum+1):
  		for h in range(2,x):
   			if x%h==0: break
 		else: yield x
prvocisla=list(vypis_prvocisla(1000,2000)
print(prvocisla)
prosteja
Python › proc to nejede
10. 2. 2013   #171362

Tá bodkočiarka na konci tam nemá byť.

A taktiež v riadku: prvocisla=list_a NEMA byt list_a ale list, čiže:

def vypis_prvocisla(minimum,maximum):
	for x in range(minimum,maximum+1):
  		for h in range(2,x):
   			if x%h==0: break
 		else: yield x
prvocisla=list(x for x in vypis_prvocisla(1000,2000))
print(prvocisla)


To odsadenie riadkov je dôležité.

prosteja
Python › Návrat k Python Challenge
10. 2. 2013   #171358

Zdravím,

asi poznáte stránku Python challenge s trápeniami intelektu návštevníkov?

Sice staršia, ale stále veľmi zaujímavá stránka.

Do koľkej úlohy ste sa dostali, a ako sa vám to celé páči, prípadne čo na to hovoríte s odstupom času?

Má to zmysel celé "absolovovať" ? (resp. snažit sa absolvovať  )

Musím priznať že viaznem pri 2. úlohe  (no vlastne 1., tá uplne prvá je nultá => rozohrievačka).

V žiadnom prípade však nechcem žiadnem žiadne riešenia, prídem si na to sám 

prosteja
Python › proc to nejede
10. 2. 2013   #171353

Hmm..

mne to v poriadku vypísalo zoznam asi 50 čísiel...

Možno to bude verziou, mne to v Pythone 3.2.3 funguje.

Skopíruj sem celý kód, ktorý si TY skopíroval a presný výstup z konzoly/resp. v čom to robíš

prosteja
Python › proc to nejede
10. 2. 2013   #171349

Ahoj,

# -*- coding: utf-8 -*-

Toto odporúčam používat. Vdaka tomu možeš vo svojom programe používať pismenka s háčkami a čiarkami, t.j. č,dž,š,ť,á,í,é atď atď.

Po tomto kóde sa ti prvočísla nevypíšu samozrejme.

Funkcia, ktorú som napísal vyššie, je generátor, čiže jej obsah získaš až po iterovaní

Preto ak urobíš aj posledný riadok,

prvocisla=list(x for x in vypis_prvocisla(1000,2000))

a potom zavoláš tu premennu prvočísla... takto: print(prvocisla)

stane sa..

No schvalne, vyskušaj to sám, ak by ti to nefungovalo, tak vypíš aj konkrétny typ chyby (celu chybovu hlášku)

prosteja
Python › proc to nejede
10. 2. 2013   #171342

#4 prosteja
+ ešte mam chybu v coding: utf, ma tam byt utf-8

prosteja
Python › proc to nejede
10. 2. 2013   #171340

#3 prosteja
Chcel by som sa len opravit, predposledny riadok by mal vyzerat takto:


prvocisla=list(x for x in vypis_prvocisla(1000,2000))
prosteja
Python › proc to nejede
10. 2. 2013   #171339

Všetky prvočísla od 1000 do 2000? hm..

# -*- coding: utf -*-

def vypis_prvocisla(minimum,maximum):
	for x in range(minimum,maximum+1): # hovoril si ze chces overovat aj 2000
		for h in range(2,x):
			if x%h==0: break
		else: yield x

# a teraz ked sa chces dostat k tym prvocislam
prvocisla=list(x for x in gen(1000,2000))

# a uz len das trebars print(prvocisla); a sledujes vysledok
prosteja
Python › Websockets server na Windows
9. 2. 2013   #171305

#1 Tomáš Holub
Skus využit mailovu konferenciu tu.

Tam by si zrejme našiel ludi čo by ti boli schopní poradiť.

prosteja
Python › Cyklus v jazyce Python
8. 2. 2013   #171264

Ešte by som dodal, while nemusí mat nutne podmienku na začiatku,

pomocou while True:

sada

ak podmienka:

    break # vyskoci z cyklu

Ja davam prednost tomuto postupu, umožnuje lepšiu kontrolu nad cyklom.

prosteja
Python › Cyklus v jazyce Python
8. 2. 2013   #171263

Nie, dalsie typy cyklov uz python nemá, iba tieto dva.

prosteja
Python › program na násobilku v tkint…
8. 2. 2013   #171262

Cykly su v programoch s GUI na opakovanie činností asi zbytočné.

Napíš funkciu, ktorá spracuje výsledok príkladu a napríklad k nejak vopred vytvorenej premennej pripocta 1:

premenna+=1

na zaciatok tej funkcie das dajme tomu:

if premenna==10:

  urob to a to

Po každom kliknutí na tlačítko sa prevedie jeho funkcia, všetko teda musí byt jej sučastou.

prosteja
Python › Jak na cyklus
7. 2. 2013   #171231

Možná tu komprehenzaciu naradit generátorovou notací,

ak sa nemýlim vo väčšine prípadou je rychlejšia.

prosteja
Python › program na násobilku v tkint…
5. 2. 2013   #171167

#4 prosteja
+ ešte by som to radšej robil v OOP, niektorí hovoria že vtedy je krajší kód :-)

a nemusel by si používat žiadne global premenna

ale nevyhodou je písat všade self

prosteja
Python › program na násobilku v tkint…
5. 2. 2013   #171166

Neviem, či som správne pochopil... ale na čo su tie cykly v prubeh() ?

Tkinter je udalostami riadene programovanie, čiže by to mohlo byt urobene nejak v zmysle:

0) Tvorba kontrolnej premennej pre label, v ktorom sa bude tvorit otázka, ktoru chceš položit uživatelovi

O kontrolných premenných su tutorialy, možeš konkretne použit StringVar()

1) Tvorba labelu, kam sa dá test otázky

2) Tvorba widgetu Entry pre odpoved otázky v labele

3) Nastav hodnotu kontrolnej premennej na otázku, ktorú chceš položit

3b) Vytvor prazdny Label kam das odpoved

4) Tvorba tlačítka Další otázka pre dalšiu otázku, to tlačítko nech je na začiatku bloknuté, state=DISABLED

4b) Vytvorit funkciu, ktorá trebárs bude reagovat na stlačenie Enteru v udelátku - widgete Entry, čiže ked uživatel potvrdi odpoved Enterom čo sa ma stat

5) Ta funkcia by mohla obsahovat:

while True:

  try:

    obsah=int(pole_vstup.get())

    if obsah==cislo_jedna*cislo_dva:

       label_posudenie["text"]="Správne si odpovedal."

    else:

       label_posudenie["text"]="Nesprávne."

    pole_vstup.configure(state=DISABLED)

    tlacitko_dalsi.configure(state=NORMAL)

    break # cyklus iba kvoli pripadu opakovania v pripade chyby :-)

  except ValueError:

   label_posudenie["text"]="Odpovedal si nesprávne" # retazec nemozme premenit na cislo

6) Teraz vytvorit funkciu ktoru dostane tlacitko Dalsi otazka:

tlacitko_dalsi.configure(state=DISABLED)

pole_vstup.configure(state=NORMAL)

kontrolna_premenna_otazky.set(text_dalsej_otazky)    # toto je vlastne pseudokod

# otazku zmenis len znovuvygenerovanim cisel

Ach hej, ešte som zabudol, treba aj StringVar() pre pole pre vstup(Entry),

ked odpovieme na otazku, tak po klinuti na tlacitko_dalsi chceme aby sa obsah Entry vymazal:

premenna_entry.set("")

Ono vlastne v takychto pripadoch ani cykly netreba.

Staci to brat z hladiska, CO PRESNE sa ma stat po kliknutí na to ono tlačítko, program sa o všetko postará sam.

Vždy ked klikneme na tlačítko, proste sa znovu vykona ta funkcia.

prosteja
Python › program na násobilku v tkint…
4. 2. 2013   #171116

Ahoj,

 Prečo nepoužívaš komentáre? Každému kto bude od čítat to pomôže. Niektoré časti kódu sa mi zdajú nepochopiteľné.

Tak aspon nech sa vie, čo čím chceš dosiahnut.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý