Tagasi Python-le

Integer ja float

Selles peatükis:

  • saad teada, mis on string,
  • saad teada, miks stringiga ei saa arvutada,
  • saad teada, mis on integer ja float,
  • koostad paar lõbusat halloweeni-teemalist programmi.

Stringide lisamine ja numbrid

String on sõna või tähtedeühend ja kirjutatakse jutumärkide vahele. Näiteks sisestatakse alloleva koodireaga string nimi.

input("nimi")

Kui lisad inputi, siis see salvestataksegi automaatselt stringina. Mõnikord on vaja, et input oleks number. Nt selleks, et saaks arvutusi teha. Siis tuleb see eraldi määrata.

Programmeerimises kasutatakse kaht tüüpi numbreid: integer ja floatInteger on alati täisarv, näiteks 2. Float on aga ujukomaarvuga number, nt 2,5.

Piltlikult öeldes on kümnendmurrus olev koma nagu kummitus, mis „hõljub“ või „ujub“ numbrite vahel. Programmis tuleb öelda, milliste arvude vahel koma paikneb.

Proovime!

Teeme lihtsa programmi. Küsime kummituselt kui vana ta on ja arvutame sisestatud vastusele tuginedes kui vanaks saab ta saja aasta pärast.

vanus = input("Kummitus, kui vana sa oled?")

Vanus on muutuv väärtus, seetõttu saame seda tähistada muutujaga (variable).

vanusTulevikus = vanus + 100
print("Sa saad saja aasta pärast", vanusTulevikus, "aastat vanaks.")

Salvesta ja käivita F5-ga. Saad tulemuseks Error. Miks?

Viga tekkis seetõttu, et arvuti käsitles vanust automaatselt stringina (suvalise sõnana) ega oska sellega arvutada. Parandamiseks lisa eraldi funktsioon integer, mida kirjutatakse programmis int(). See ütleb, et sulgudes on kas integer või number.

vanus = input("Kummitus, kui vana sa oled?")
vanusTulevikus = int(vanus) + 100
print("Sa saad saja aasta pärast", vanusTulevikus, "aastat vanaks.")

Proovi nüüd uuesti!

Väljakutse: Tondijutud

Proovi nüüd ka ise taolisi arvutusi luua. Mõtle mida tahaksid arvutada? Milliseid andmeid on selleks vaja? Millised neist saaks sisestada kasutaja?

Allpool üks minu loodud näide. Võid seda alustuseks proovida. Lõbusam on kui lased sõbral kehastuda kummituseks ja sisestada vastused.

vanus = input("Kummitus, kui vana sa oled?")
vanusTulevikus = int(vanus) + 100
ehmatus = input("Mitut inimest sa ühes päevas ehmatad?")
ehmatusiAastas = int(ehmatus) * 365
koduloomad = input("Mitu kodulooma sul on?")
muudloomad = input("Mitu neist ei ole kassid?")
kasseKokku = int(koduloomad) - int(muudloomad)

print("Sa saad saja aasta pärast", vanusTulevikus, "aastat vanaks.")
print("Uskumatu, sa ehmatad aastas", ehmatusiAastas, "inimest!")
print("Vauuuu! Sul on", kasseKokku, "kassi!")

Väljakutse2: Veel tondijutte

Proovime nüüd ka float’i kasutamist ehk siis laseme kasutajal sisestada komaga arve. Siin on tähtis meeles pidada, et Pythonis tuleb vastajal koma asemel kasutada punkti!

Oletame, et meie kummitusest sõbral on korralik pirakas kõrvits ja me soovime arvutada selle ümbermõõtu. Kuna kõrvits on kena ümmargune asi, siis kasutame arvutamiseks ringi ümbermõõdu valemit: C = 2 · π · r .

Oletame, et sõber kummitus teab oma kõrvitsa läbimõõtu. Niisiis küsime selle tema käest järele. Ja kuna kõrvits näeb pealtvaates välja nagu ring, siis on läbimõõt meie ringi diameeter.

diameeter = input("Mis su suurima kõrvitsa läbimõõt on (cm-des)?")

Nii, aga valemis on meil vaja raadiust ehk teisisõnu tuleb diameeter pooleks teha.

raadius = float(diameeter) / 2

Las see kummitus näitab veel oma teadmisi, kas ta näiteks teab kui suur on pii?

pii = input("Kas tead kui suur on pii?")

Meil on nüüd andmed kenasti olemas ja saame need valemi eeskujul kokku rehkendada.

ymbermoot = 2 * float(pii) * float(raadius)

Kummitusest sõpra aga ehmatame oma arvutusoskusega ja prindime talle ümbermõõdu välja ka.

print("Hirrrmus! Sinu kõrvitsa ümbermõõt on", ymbermoot , "cm!!!")

Eelmises väljakutses valminud osaga kokku näeks lõpptulemus välja selline:

vanus = input("Kummitus, kui vana sa oled?")
vanusTulevikus = int(vanus) + 100
ehmatus = input("Mitut inimest sa ühes päevas ehmatad?")
ehmatusiAastas = int(ehmatus) * 365
koduloomad = input("Mitu kodulooma sul on?")
muudloomad = input("Mitu neist ei ole kassid?")
kasseKokku = int(koduloomad) - int(muudloomad)
diameeter = input("Mis su suurima kõrvitsa läbimõõt on (cm-des)?")
raadius = float(diameeter) / 2
pii = input("Kas tead kui suur on pii?")
ymbermoot = 2 * float(pii) * float(raadius)

print("Sa saad saja aasta pärast", vanusTulevikus, "aastat vanaks.")
print("Uskumatu, sa ehmatad aastas", ehmatusiAastas, "inimest!")
print("Vauuuu! Sul on", kasseKokku, "kassi!")
print("Hirrrmus! Sinu kõrvitsa ümbermõõt on", ymbermoot , "cm!!!")

Kasutatud allikad: