Muuttujan tyypin muuttaminen

Sisältää
tehtävän!

Joskus tarvitsemme tekstin muuttamista esimerkiksi numeroksi. Silloin käytämme apuna float()- tai int()-funktiota.

		haku = document["teksti1"].value
		numeroksi = float(haku)
		numeroksi = numeroksi + 5

<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://www.matikki.fi/guidebook-python/brython/brython380/brython.js"></script>

<title>Brython</title>

<script type="text/python">
from browser import document, alert

def haeTeksti(event):
	haku = document["teksti1"].value
	numeroksi = float(haku)
	numeroksi = numeroksi + 5
	document["taulu"].text = numeroksi
	
document['nappi1'].bind("click", haeTeksti)

</script>

</head>

<body onload="brython({debug:1,indexedDB: false})">

<div id="taulu">Jotain tekstiä </div> 

<input type="button" value="Klikkaa" id="nappi1" />
<br />
<input type="input" value="Anna numero" id="teksti1" />
</body>
</html>

Huomaa! Muihin muuttujatyyppeihin muuttavat funktiot ovat mm. str(), int(), float(), bool(), list(), dict() ...

Muuttujatyypin testaaminen

Lisätään edelliseen esimerkkiin väärän arvon käsittely. Toisin sanoen, mitä teemme, jos käyttäjä ei syötäkään numeroa, vaan esimerkiksi kirjaimia.

def haeTeksti(event):
	haku = document["teksti1"].value
	try:
	    numeroksi = float(haku)
	    numeroksi = numeroksi + 5
	    document["taulu"].text = numeroksi
	except:
	    document["taulu"].text = "Anna numero"

<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://www.matikki.fi/guidebook-python/brython/brython380/brython.js"></script>

<title>Brython</title>

<script type="text/python">
from browser import document, alert

def haeTeksti(event):
	haku = document["teksti1"].value
	try:										#testataan
	    numeroksi = float(haku)					#muutetaan desimaaliluvuksi
	    numeroksi = numeroksi + 5
	    document["taulu"].text = numeroksi
	except:										#jos tapahtuu virhe
	    document["taulu"].text = "Anna numero"	#ilmoitetaan virheestä
	
document['nappi1'].bind("click", haeTeksti)

</script>

</head>

<body onload="brython({debug:1,indexedDB: false})">

<div id="taulu">Jotain tekstiä </div> 

<input type="button" value="Klikkaa" id="nappi1" />
<br />
<input type="input" value="Anna numero" id="teksti1" />
</body>
</html>

Tehtävä:

Kirjoita laskin-ohjelma. Sijoita sivulle kaksi tekstikenttää ja napit yhteen-, vähennys-, kerto- ja jakolaskulle. Kirjoita funktiot laskutoimituksille.