Sivut

tiistai 21. toukokuuta 2013

Ubuntu / Python koodia

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