Máte zoznam, kde sa nachádzajú názvy farieb spolu s ich špecifikáciou farby podľa modelu RGB (red, green, blue):
= [
colours 'red', 255, 0, 0 ],
['blue', 0, 0, 255],
['green' 0, 255, 0],
['red', 178, 34, 34],
['red', 139, 0, 0],
['green', 34, 139, 34],
['blue', 70, 130, 180],
['green', 50, 205, 50],
[ ]
Názvy farieb sa v zozname opakujú. Napíšte program, ktorý takýto zoznam zmení (alebo vytvorí nový) tak, aby opakujúce sa farby mali index, napr.:
= [
unique_colours 'red_1', 255, 0, 0 ],
['blue_1', 0, 0, 255],
['green_1' 0, 255, 0],
['red_2', 178, 34, 34],
[
... ]
Potom vytvorte slovník, ktorý mapuje názov farby na RGB a slovník opačný.
Bonusová fyzikálna otázka, ktorá nesúvisí s programovaním (aspoň nie počítačovým programovaním): Žltá farba je v modele RGB daná napr. [255, 244, 0]
, viz. link, čo je kombinácia červenej a zelenej farby. Monitor vám to (pravdepobne) zobrazuje podľa tejto špecifikácie (v monitore je, klasicky, červená, modrá a zelená LEDka). To znamená, že žltá, ktorú vnímate nemusí byť “žltý fotón,” ale stačí vám aj kombinácia zelenej a červenej. To dáva zmysel – vaše oko meria tiež len RGB (viz. napr. Feynmanove prednášky) a energia žltého fotónu je medzi energiou zeleného fotónu a červeného fotónu.
Fialová farba je v modele RGB daná napr. [128, 0, 128]
, viz. link. Z fyziky ale viete, že fialová farba je v spektre farieb až za modrou – jej fotón má väčšiu energiu. Ako je možné, že aj tu vám stačí len kombinácia? Nemala by byť kombinácia červenej a modrej farby zelená (alebo žltá) farba?
Napíšte funkciu, ktorá náhodne vráti 'kameň'
,'nožnice'
alebo 'papier'
.
Môžete využiť funkciu choice
z balíčku random
. Návod k použitiu je napr. na StackOverflow.
Napíšte funkciu, ktorá s Vami bude hrať kameň, papier, nožnice: To znamená:
'papir') # vyhra / prehra
kpn('kulomet') # chybne gesto kpn(
Funkciu napíšte tak, aby volala predchádzajúcu funkciu.
Ďalej vylepšte hru použitím funkcie input.
Napíšte funkciu, ktorá bude počítať skóre a zastaví sa až vy alebo počítač dosiahnete 3 body.
Teraz modifikujte hru o voľby jašter, Spock.
Ako študenti Masarykovej univerzity máme dobrý prístup k vedeckým článkom a výborný prístup k ich metadatám cez stránku webofscience.com. Na tejto stránke si môžete nájsť základné informácie o článkoch, vyhľadávať napr. podľa témy, kľúčových slov, autorov, atď. (Mimo univerzitu by ste si za tieto služby platili. Existuje stránka crossref.org, ktorá je zadarmo, ale metadat je vačšinou menej a funkcionality tiež.)
Po vyhľadávaní je možné záznamy exportovať do roznych formátov (max. 500 záznamov). Záznam obsahuje informácie o každom článku - mená autorov, názov, aké články vo svojom článku referencujú, atď.
Vašou úlohou bude:
Pre riešenie úlohy môžete využiť balíček wosfile, ktorý vám načíta typ súboru “Plain text” (viz. obrázky). Pracovať môžete s akýkoľvek exportom, alebo so súborom v štúdijných materiáloch v ISe, čo je export z požiadavku Topic: Python AND Topic: physics
.
Načítavanie pomocou wosfile
je jednoduché:
import wosfile
= "savedrecs.txt" # nazov exportovaneho suboru
filename
= []
data for record in wosfile.records_from(filename):
dict(record)) data.append(
Abstrakt je pod heslom "AB"
, referencie pod heslom "CR"
(cited references).