Skip to main content

From python to html




Ok, now, let's see how to make in a fast way the test ready for be published on the web.
I just added some code to write in an html file our questions and answers and the game is done.

There will be the same output at console, but in the directory, you will find a file called test1.html. If you open it, you will find a neat version opening in the browser... you can add more nice feature to it of course and you could also make it interactive. This will come in the next future in this blog, if you're asking.


from random import shuffle

with open("regioneprovincia.txt") as file:
 dati = file.readlines()

for c in dati:
 dati[dati.index(c)] = c.replace("\n","")

x = 0
for a in dati:
 dati[x] = dati[x].split(',')
 x += 1

province_dict = {}
province = []

for a,b in dati:
 province_dict[b] = ''
 province += [b] # here I got all the provinces

for a,b in dati:
 province_dict[b] += a + ","

shuffle(province)

regione = []
for r in province:
    regione += [province_dict[r]]

    
file = open("test1.html","w",encoding="utf-8") # this is to create the html file

print()
file.write("<ol>") # I added this
for x in range(30):
    print("Dove si trova ",province[x]+"?")
    file.write("<li>Dove si trova"+province[x]+"?</li>") # I added this
    scelta = list(set(regione.copy())) # create a list identical to regione
    # I used set to delete the equal answers and then I trasformed it in a list
    # again because I needed to use the index method (only present in list)
    scelta.pop(scelta.index(regione[x])) # delete the right one from the choices
    shuffle(scelta) # mix the alternative wrong answers
    # Now I take 3 random answers
    a = scelta.pop()
    b = scelta.pop()
    c = scelta.pop()
    risposte = [a,b,c,regione[x]]
    shuffle(risposte) # I shuffle them
    print()
    file.write("<ol>") # I added this
    for items in risposte:
        print(items)
        file.write("<li>"+items+"</li>") # I added this
    print()
    file.write("</ol>") # I added this
    print("R:",regione[x])
    file.write("<br>R:"+regione[x]) # I added this
    print()
    file.write("<br><br>") # I added this

print("</ol>")
file.write # I added this
file.close()# I added this

# When the script will be executed a new html file will be created with the name of test1.html, search for it in the directory where the python file is.

Comments

Popular posts from this blog

Widgets for Jupyter Notebook: a text input widget

Widgets for Jupyter notebook ¶ Let's import the module ipywidgets into the Jupyter Notebook from ipywidgets import widgets from ipywidgets import * from traitlets import * Now we import the display function from IPython ¶ let's attach a function to the event on_submit After we run this cell, we can go up and write something in the text widget and after you submit the text you wrote will be printed after the cell from IPython.display import display text = widgets . Text () display ( text ) def handle_submit ( sender ): print ( "Thank you for entering this text:" , text . value ) text . on_submit ( handle_submit ) Thank you for entering this text: Ciao

Image in Jupyter and PIL step by step

Hi, """ Hi, we will see a step by step tutorial about PIL and IPython.core.display modules to create images from other images and diplaying them in Jupyter notebook """ # What we will do # Create a card # 1. Take a pic of a heart # 2. Create an image blanck the size of a card 90*130 # 3. Paste the heart in the middle # 4. show the card """ As first step wi will simply display an image on the notebook. I will show two way to display the image with 'display' from IPhyton a. Using the open method of PIL.Image (named Img) b. Using the Image method from the IPython.core.display module """ # 1. Take the pic of a heart from IPython.core.display import Image , display from PIL import Image as Img heart = 'img/heart.png' display ( Image ( heart )) display ( Img . open ( heart )) # 2. Create an image blanck the size of a card 90*130 # 3. Paste the heart in the middle #...

Let's draw a circle with PIL in Python

Let's continue making our coding around PIL. Let's start with some basic drawing: a circle from PIL import Image , ImageDraw img = Image . new ( "RGB" ,( 60 , 60 ), 'white' ) dr = ImageDraw . Draw ( img ) dr . ellipse (( 0 , 0 , 60 , 60 ), 'yellow' ) img . show () this is the image produced *If you use jupyter notebook, just write img at the end to see the output.