from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
from ipywidgets import RadioButtons, Text, Select, Dropdown, Label, jslink, Combobox, Output, HTML, VBox
from ipywidgets.widgets.widget import Widget, register, widget_serialization
from ipywidgets.widgets.widget_core import CoreWidget
from IPython.display import  display, clear_output

from traitlets import Unicode, Tuple, Instance, TraitError

# mcg is a list of lists 
# each list consists of a string (the stem) & a list of distractor tuples (distractor string and response string)
mcq=[
['The amount of gas exhaled after a maximal inpiration followed by a maximal expiration is the:', [('choose',''),('IC', 'Try again...'),('RV','Try again...'),('VC','Correct!'), ('TV', 'Try again...')]],
['The amount of gas in the lungs after a maximal inspiration is the:',[('choose',''),('IC','Try again...'),('IRV','Try again...'),('TLC','Correct!')]],
['Where does gas exchange occur?',[('choose',''),('pulmonary artery','Try again...'),('bronchioles','Try again...'),('alveoli','Correct!'), ('pleura', 'Try again...')]],
['The pleura that surrounds the lungs consists of two layers, the ________.',[('choose',''),('visceral & parietal pleurae','Correct!'),('mediastinal & parietal pleurae','Try again'),('visceral & mediastinal pleurae','Try again'),('none of the above','Try again')]],    
['finished',[('no option','')]]    
]


# without iteration

i=0
stem=mcq[i][0]
distractors=mcq[i][1]


def f(stem,distractors):
    display(stem,distractors)
    return stem,distractors

w=interactive(f, stem=stem, distractors=distractors);
display(w)




# i=0
# while i < len(mcq):  # from the nested list of mcq items
#     stem=mcq[i][0]
#     distractors=mcq[i][1]
#     i += 1       # controls the while loop     
#     w=interactive(f, stem=stem, distractors=distractors);
#     display(w)