Americká internetová společnost Google nemusí prodat svůj prohlížeč Chrome ani operační systém Android. Rozhodl o tom soud ve Washingtonu, který tak zamítl požadavek amerického ministerstva spravedlnosti. Soud ale firmě nařídil sdílet data s jinými podniky v zájmu posílení konkurence v oblasti internetového vyhledávání. Zároveň Googlu zakázal uzavírat dohody s výrobci mobilních a dalších zařízení, které by znemožňovaly
… více »Prvního září ozbrojení policisté zatkli na na londýnském letišti Heathrow scénáristu a režiséra Grahama Linehana, známého především komediálními seriály Ajťáci, Otec Ted nebo Black Books. Během výslechu měl 57letý Graham nebezpečně zvýšený krevní tlak až na samou hranici mrtvice a proto byl z policejní stanice převezen do nemocnice. Důvodem zatčení bylo údajné podněcování násilí v jeho 'vtipných' příspěvcích na sociální síti
… více »Studentská dílna Macgyver zve na další Virtuální Bastlírnu - pravidelné online setkání všech, kdo mají blízko k bastlení, elektronice, IT, vědě a technice. Letní prázdniny jsou za námi a je čas probrat novinky, které se přes srpen nahromadily. Tentokrát jich je více než 50! Těšit se můžete mimo jiné na:
Hardware – Bus Pirate na ESP32, reverse engineering Raspberry Pi, pseudo-ZX-80 na RISC-V, PicoCalc, organizéry na nářadí z pěny nebo … více »Google Chrome 140 byl prohlášen za stabilní. Nejnovější stabilní verze 140.0.7339.80 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 6 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
LeoCAD (Wikipedie) je svobodná multiplatformní aplikace umožňující také na Linuxu vytvářet virtuální 3D modely z kostek lega. Vydána byla verze 25.09. Zdrojové kódy a AppImage jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.
Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.
Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.
import string string_array = ['Jozko', 'mal', 'mal', 'ranajky', 'polievku', 'zvysila','Jozko', 'mal','mal', 'sa', 'mu', 'od', 'vcera','polievku','zvysila'] for i in range(len(string_array)): if string_array.count(string_array[i]) > 1: added_word_counter = 0 while True: added_word_counter += 1 searched_string = string_array[i] for j in range(added_word_counter): searched_string += ' ' + string_array[i + j + 1] if string.count(searched_string) > 1: print '>>>>' + searched_string + ': ' + str(string.count(searched_string)) else: breaka malo by to vypisat :
>>>>Jozko mal mal >>>>>polevku zvysilaale vypisuje mi tam nejaku chybu...vie nniekto poradit?
Řešení dotazu:
if string.countNevola se nahodou metoda na objekt ne na modul?
Traceback (most recent call last): File "test.py", line 14, in <module> if string.count(searched_string) > 1: File "/usr/lib/python2.7/string.py", line 348, in count return s.count(*args) TypeError: count() takes at least 1 argument (0 given)Pak se stačí podívat do dokumentace, co vlastně metoda
count
očekává.
cnts = {} for word in string_array: cnts[word] = cnt.setdefault(word,0) + 1
ale vypisuje mi tam nejaku chybu...vie nniekto poradit?Napadla mě nějaká rada.
" ".join(string_array[i:j])Podobnych konstrukci kterymi si jen hazis klacky pod nohy tam mas vice, ale bez znalosti zadani tezko radit.
A B A B C A B C D A B C D EMá se vypsat pouze
A B
, protože je tam nejvícekrát, pouze A B C D
, protože je nejdelší, něco jiného ...?
A B C B C D C D A D A BTady by se mělo vypsat co? Jsou tam čtyři sekvence, které se všechny vyskytují právě dvakrát, a překrývají se. Takový problém je prostě zapotřebí specifikovat přesně.
#!/usr/bin/python import sys, re def only_multiple_occurences(d): return dict((k, v) for k, v in d.iteritems() if len(v) > 1) def add_to_dict_list(d, k, x): if k in d: d[k].append(x) else: d[k] = [x] # Get words. words = list(re.findall(r'\w+', sys.stdin.read())) nwords = len(words) # Find all bigrams with mutliple occurences and gather their positions. n = 2 allngrams = [None, words, {}] ngrams = allngrams[n] for i in range(nwords+1-n): add_to_dict_list(ngrams, tuple(words[i:i+2]), i) allngrams[n] = only_multiple_occurences(ngrams) # Find all longer n-grams, searching only at positions of already found shorter # n-grams. while allngrams[n]: prevngrams = allngrams[n] n += 1 allngrams.append({}) ngrams = allngrams[n] for prevngram, positions in prevngrams.iteritems(): for i in positions: if i + n <= nwords: add_to_dict_list(ngrams, prevngram + (words[i+n-1],), i) allngrams[n] = only_multiple_occurences(ngrams) # Print the n-grams, starting from the longest while excluding all n-grams that # are part of any longer n-gram. n -= 1 excluded = {} while n >= 2: nextexcluded = set() for ngram, positions in allngrams[n].iteritems(): if ngram not in excluded: print ' '.join(ngram) + ' (%ux)' % len(positions) nextexcluded.add(tuple(ngram[1:])) nextexcluded.add(tuple(ngram[:-1])) excluded = nextexcluded n -= 1
1. Behem prvniho pruchodu presstring_array
zjistit pocet vyskutu vsech slov a neuvazovat ty, ktere se vyskutuji min nez 2 krat 2. Behem druheho pruchodu presstring_array
najit nejdelsi retezec, jehoz vsechna slova, jsou v seznamu (slovniku) vytvorenem v 1.kroku 3. Konec
string_array = ['Jozko', 'mal', 'mal', 'ranajky', 'polievku', 'zvysila','Jozko', 'mal','mal', 'sa', 'mu', 'od', 'vcera','polievku','zvysila'] #Prvni pruchod - pocitani vyskytu cnts = {} for word in string_array: cnts[word] = cnts.setdefault(word,0) + 1 valids = [v for v in cnts.keys() if cnts[v] > 1] #Druhy pruchod - hledani nejdelsiho vyhovujiciho retezce max = {'beg': 0, 'end': 0} cur = {'beg': 0, 'end': 0} for pos in range(len(string_array)): if string_array[pos] in valids: cur['end'] += 1 if not string_array[cur['beg']] in valids: cur['beg'] = pos else: if (cur['end'] - cur['beg']) > (max['end'] - max['beg']): max['end'] = cur['end'] max['beg'] = cur['beg'] cur['beg'] = pos cur['end'] = pos print string_array[max['beg']:max['end']+1]
Jozko mal mal polevku zvysilapotom nedokáže v deseti příspěvcích popsat, co to přesně má dělat obecně, a na otázky po upřesnění odpovídá nejasnými kecy, které lze interpretovat deseti způsoby, a nakonec označí za řešení nesmyslný program jiného experta, který nevypíše, co má, ani na tom zasraném jednoduchém úvodním příkladu, natož na těch A B C..., které jsem psal já. Pokud Kamile napíšeš (resp. nenapíšeš, toho jsi nebyl schopen, a muselo se to z tebe složitě dostávat), že má program najít nějaké nejdelší opakující se podsekvence a tenhle program považuješ za řešení, tak se nech vyšetřit. A hlavně se prosím nikdy nepokoušej o programování.
A B C A B C A B C A B C
Tiskni
Sdílej: