Advertisement
Guest User

rawrxd

a guest
Jan 21st, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. # Pétur Steinn Guðmundsson
  2. # 16.1.18
  3. # Skilaverkefni 1 - (4/4)
  4.  
  5. strengur = str()
  6. action = int()
  7. tmp = str()
  8. decode = str()
  9.  
  10. def DecodeEncode(): # Eitt fall sem encodar og decodar.
  11. global strengur
  12. for i in range(0, action, 2): # Byrjar á núll, fer upp í action, tekur tvö skref í einu(fara yfir stafina sem er
  13. # búið að víxla).
  14. tmp = li[i] # Geyma stafinn sem verður replaced í næsta skrefi svo hann týnist ekki.
  15. li[i] = li[i + 1] # Settur er stafurinn í plássi 1 á pláss 2.
  16. li[i + 1] = tmp # Settur er stafurinn í plássi 2 á sem sá stafur sem við geymdum í plássi 1.
  17. strengur = "".join(li)
  18. return strengur
  19.  
  20. strengur = input("Strengur: ").upper() # Beðið er um streng.
  21.  
  22. if len(strengur) % 2 != 0: # Strengur tekinn og reiknað út hversu mörg vígsl skref verða tekin, ef að lengdin á
  23. # strengnum er oddatala, þá hunsar forritið síðasta stafinn.
  24. action = len(strengur) - 1 # Hér er action minnkað um einn þegar lengd strengsins er oddatala til að action verði
  25. # slétt tala.
  26. else:
  27. action = len(strengur) # Ef lengd strengsins er slétt tala er allt í góðu.
  28.  
  29. li = list(strengur) # Brotið er strengnum niður í elements í lista og auðveldar meðhöndlun.
  30. print(DecodeEncode()) # Beðið er um að encoda strenginn með því að kalla í fall og prentaður út.
  31.  
  32. decode = input("Afkóða streng?(y/n)")
  33. if decode == 'y':
  34. print(DecodeEncode()) # Hægt er að kalla í sama fall til að víxla stöfunum aftur, með því decodaru strenginn.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement