...
Vi skal her gå gjennom de viktigste forskjellene, med utgangspunkt i leksjon (lesson) 5 del 3 i Python-delen av Kodeklubben.Python-leksjonen om koding av tekst. Dersom du ikke husker hva det dreide seg om så finner du hele denne leksjonen her: lesson03.pdf
Fra Python til Java
Code Block |
---|
language | python |
---|
title | Versjon 1 |
---|
linenumbers | true |
---|
| alphabet = "abcdefghijklmnopqrstuvwxyz"
def encode(letter, secret):
pos = alphabet.find(letter)
newpos = (pos + secret)
if newpos >= 26:
newpos = newpos - 26
return alphabet[newpos]
def decode(letter, secret):
pos = alphabet.find(letter)
newpos = (pos - secret)
if newpos < 0:
newpos = newpos + 26
return alphabet[newpos]
secret = 17
message = "hello world"
output = ""
for character in message:
if character in alphabet:
output = output + encode(character, secret)
else:
output = output + character
print(output)
secret = 17
message = "yvccf nficu"
output = ""
for character in message:
if character in alphabet:
output = output + decode(character, secret)
else:
output = output + character
print(output) |
| Code Block |
---|
language | python |
---|
title | Versjon 2 |
---|
linenumbers | true |
---|
| # alphabet-variablen er lagt utenfor funksjonene, slik at den kan brukes av dem alle
alphabet = "abcdefghijklmnopqrstuvwxyz"
def encode(letter, secret):
pos = alphabet.find(letter)
newpos = (pos + secret)
if newpos >= 26:
newpos = newpos - 26
return alphabet[newpos]
def decode(letter, secret):
pos = alphabet.find(letter)
newpos = (pos - secret)
if newpos < 0:
newpos = newpos + 26
return alphabet[newpos]
# run()-funksjonen samler koden som tidligere lå utenfor funksjonene
def run():
message = "hello world"
secret= 17
output = ""
for character in message:
if character in alphabet:
output = output + encode(character, secret)
else:
output = output + character
print(output)
message = "yvccf nficu"
output = ""
for character in message:
if character in alphabet:
output = output + decode(character, secret)
else:
output = output + character
print(output)
# her kalles samlefunksjonen, som vi vil kalle "hovedprogramfunksjonen"
run() |
|
For å gjøre det litt lettere å "oversette" Python-koden til Java, så gjør vi først en liten omstrukturering av Python-koden. Versjon 1 over til venstre er originalkoden fra pdf-filen, mens vi i versjon 2 har samlet (det meste av) koden som ikke allerede er inni en funksjon, i en run()-funksjon. Den eneste koden utenfor funksjonene er 1) variabler som er greit at alle funksjonene bruker og 2) et kall til "hovedprogrammetoden", dvs. funksjonen vi samlet vi samlet koden i.