We are discovering the chance to make apps with Jupyter notebook's widgets. Until now we have just take a look at the Text widget. In the first app we simply wrote something in an external file, through the text inserted in the Text box displayed by the Jupyter notebook.
Now we want to make another very simple app, just a little more complicated. It is a test game that got 4 Text widgets in it. One is for the question, one for the answer, one for the feedback and another for the score. Very simple and basic. For the next apps we will get a little further in the discovery of the Jupyter notebook widgets, right?
The nb
https://nbviewer.jupyter.org/urls/dl.dropbox.com/s/wgqsxj16issv9rp/A%20simple%20Game%20App.ipynb
Now we want to make another very simple app, just a little more complicated. It is a test game that got 4 Text widgets in it. One is for the question, one for the answer, one for the feedback and another for the score. Very simple and basic. For the next apps we will get a little further in the discovery of the Jupyter notebook widgets, right?
from ipywidgets import widgets from IPython.display import display from random import shuffle text = widgets.Text() dom = widgets.Text() fbk = widgets.Text() score = widgets.Text() def handle_submit(sender): pass text.on_submit(handle_submit) province = """Agrigento,AG Alessandria,AL Ancona,AN Aosta,AO Arezzo,AR Ascoli Piceno,AP Asti,AT Avellino,AV Bari,BA Barletta-Andria-Trani,BT Belluno,BL Benevento,BN Bergamo,BG Biella,BI Bologna,BO Bolzano,BZ Brescia,BS Brindisi,BR Cagliari,CA Caltanissetta,CL Campobasso,CB Carbonia-Iglesias,CI Caserta,CE Catania,CT Catanzaro,CZ Chieti,CH Como,CO Cosenza,CS Cremona,CR Crotone,KR Cuneo,CN Enna,EN Fermo,FM Ferrara,FE Firenze,FI Foggia,FG Forlì-Cesena,FC Frosinone,FR Genova,GE Gorizia,GO Grosseto,GR Imperia,IM Isernia,IS La Spezia,SP L'Aquila,AQ Latina,LT Lecce,LE Lecco,LC Livorno,LI Lodi,LO Lucca,LU Macerata,MC Mantova,MN Massa-Carrara,MS Matera,MT Messina,ME Milano,MI Modena,MO Monza e della Brianza,MB Napoli,NA Novara,NO Nuoro,NU Olbia-Tempio,OT Oristano,OR Padova,PD Palermo,PA Parma,PR Pavia,PV Perugia,PG Pesaro e Urbino,PU Pescara,PE Piacenza,PC Pisa,PI Pistoia,PT Pordenone,PN Potenza,PZ Prato,PO Ragusa,RG Ravenna,RA Reggio Calabria,RC Reggio Emilia,RE Rieti,RI Rimini,RN Roma,RM Rovigo,RO Salerno,SA Medio Campidano,VS Sassari,SS Savona,SV Siena,SI Siracusa,SR Sondrio,SO Taranto,TA Teramo,TE Terni,TR Torino,TO Ogliastra,OG Trapani,TP Trento,TN Treviso,TV Trieste,TS Udine,UD Varese,VA Venezia,VE Verbano-Cusio-Ossola,VB Vercelli,VC Verona,VR Vibo Valentia,VV Vicenza,VI Viterbo,VT""".split("\n") for n in province: province[province.index(n)] = n.split(",") shuffle(province) punti = 0 d = 0 def handle_submit(sender): 'Writing on a txt file your input in the text box' check() def printdom(): global d dom.value = str(d+1)+") Qual è la sigla di "+province[d][0]+"?" def check(): global d global punti if text.value==province[d][1]: fbk.value = "Risposta esatta" punti +=1 else: fbk.value = "Sbagliato era " + province[d][1] punti -=1 score.value = str(punti) text.value="" if d<10: d += 1 printdom() else: dom.value = 'THANK YOU' fbk.value = 'Il quiz è terminato' text.on_submit(handle_submit) printdom() # --- G U I --- display(dom) display(text) display(fbk) display(score) # _______________
The nb
https://nbviewer.jupyter.org/urls/dl.dropbox.com/s/wgqsxj16issv9rp/A%20simple%20Game%20App.ipynb
Comments
Post a Comment