Oma ohjelma nro 2
Ohjelma kysyy käyttäjältä osoittajan ja nimittäjän. Tämän jälkeen ilmoittaa numerot sekä jakolaskun tuloksen. Lisäksi jos jakaja 0, tulostuu ilmoitus virheellisestä jakajasta.
# -*- coding: cp1252 -*-
# Ohjelmointiharj.2 vers. 2
# U. Mäkitalo, 16.5.2013
# Kysytään käyttäjältä jaettava ja jakaja
# Jos jakajana 0, ilmoitus virheestä
jaettava = float(raw_input("Anna jaettava luku: ")) # Kysytään jaettava
jakaja = float(raw_input("Anna jakava luku: ")) # Kysytään jakaja
if jakaja == 0: # Jos jakaja 0, tulostetaan teksti
print "Annoit jakajaksi luvun 0. Nolla ei ole kelvollinen luku jakajaksi."
else:
print "Annoit luvut", jaettava, "ja", jakaja # Tulostetaan näytölle annetut luvut
tulos = (jaettava / jakaja) # Jakolasku
print "Jakolaskun tulos: ", round(tulos, 2) # Tulostetaan tulos näytölle
Miltä koodi näyttää:
sahko@sahko-To-Be-Filled-By-O-E-M:~/Alkeet$ python ohjelma2v2.py
Anna jaettava luku: 5
Anna jakava luku: 2
Annoit luvut 5.0 ja 2.0
Jakolaskun tulos: 2.5
sahko@sahko-To-Be-Filled-By-O-E-M:~/Alkeet$ python ohjelma2v2.py
Anna jaettava luku: 5
Anna jakava luku: 3
Annoit luvut 5.0 ja 3.0
Jakolaskun tulos: 1.67
sahko@sahko-To-Be-Filled-By-O-E-M:~/Alkeet$ python ohjelma2v2.py
Anna jaettava luku: 10
Anna jakava luku: 5
Annoit luvut 10.0 ja 5.0
Jakolaskun tulos: 2.0
Esimerkki 12.2.
# -*- coding: cp1252 -*-
# Esimerkki 12.2
# 16.5.2013 UM
def laske_binaari(luku):
potenssi = 0
while True: #Laskee kuinka monta bittiä esitykseen tarvitaan
if 2**potenssi <= luku:
potenssi += 1
else:
break
jono = ''
while True:
if luku - 2**potenssi < 0: #Jos arvo liian suuri, merkitään 0
jono = jono + "0"
else:
jono = jono + "1" #Bittiarvo voidaan vähentää, merkataan 1
luku = luku - 2**potenssi
potenssi -=1 #Lähestytään arvoa 0 joka kierroksella
if potenssi == -1: #Ollaan tultu luvun loppuun
break
return jono
lukuarvo = input("Anna kokonaisluku: ")
tulos = laske_binaari(lukuarvo)
print "Antamasi kokonaisluku on binaariluvuilla esitettynä",tulos
Koodi pitäisi antaa seuraavanlaisen tuloksen:
sahko@sahko-To-Be-Filled-By-O-E-M:~/Alkeet$ python esim122.py
Anna kokonaisluku: 5
Antamasi kokonaisluku on binaariluvuilla esitettynä 0101
Ei kommentteja:
Lähetä kommentti