7098 listor - del 2
Ibland blir det lättare om man kan gruppera flera variabler. Nedan följer ett exempel.
Kod följer nedan.
#Det som visas efter hashtag (#) nedan är det som
#skrivs ut av print
inköpslista = ["bröd", "smör", "ost"]
print(inköpslista)
#['bröd', 'smör', 'ost']
listans längd - len()
print("antal element i listan: ", len(inköpslista))
#antal element i listan: 3
lägg till element i listan - append()
inköpslista.append("fil")
print(inköpslista)
#['bröd', 'smör', 'ost', 'fil']
lägg till lista på slutet av listan - extend()
inköpslista.extend(["tomat", "gurka"])
print(inköpslista)
#['bröd', 'smör', 'ost', 'fil', 'tomat', 'gurka']
sätt in element på given plats - insert()
inköpslista.insert(1, "skorpor")
print(inköpslista)
#['bröd', 'skorpor', 'smör', 'ost', 'fil', 'tomat', 'gurka']
ta bort givet element - remove()
inköpslista.remove("fil")
print(inköpslista)
#['bröd', 'skorpor', 'smör', 'ost', 'tomat', 'gurka']
Överkurs nu: Om "fil" finns på flera ställen i listan tas bara den första förekomsten bort.
ta bort och returnera sista elementet - pop()
last = inköpslista.pop()
print("last removed: ", last)
#last removed: gurka
print(inköpslista)
#['bröd', 'skorpor', 'smör', 'ost', 'tomat']
ta bort och returnera valfritt element - pop(0)
first = inköpslista.pop(0)
print("first removed: ", first)
#first removed: bröd
print(inköpslista)
#['skorpor', 'smör', 'ost', 'tomat']
sortera - sort()
inköpslista.sort()
print("sorterad: ", inköpslista)
#sorterad: ['ost', 'skorpor', 'smör', 'tomat']
omvänd ordning
inköpslista.reverse()
print("omvänd ordning: ", inköpslista)
#omvänd sortering: ['tomat', 'smör', 'skorpor', 'ost']
ett elements index - index()
print("skorpor har index:", inköpslista.index('skorpor'))
#skorpor har index: 2
finns ett element i listan? - in
if 'skorpor' in inköpslista:
print('skorpor på listan')
else:
print('skorpor saknas på listan')
#skorpor på listan
finns ett element inte i listan? - not in
Används på samma vis som 'in' se exempel ovan.
Uppgifter
1 Rövarspråket
Skriv ett program där man kan mata in ett ord och få det översatt till rövarspråket
. Ett exempel följer.
glad bli gogloladod
Konsonanter följs av o och konsonanten en gång till. Vokaler förblir som de är.
Tips! Text kan hanteras som en lista, se exempel nedan.
ord = "gul"
print(ord[1])
# utskriften blir
# u
2A Caesarchiffer
Skriv ett program som chiffrerar en text med Caesarchiffer.
I korthet byts a mot b och b mot c och z mot a. Varje bokstav i texten byts mot nästa tecken i alfabetet. Ett exempel följer
pyton blir qzupo
Använd funktioner.
Tips från :
>>> 'PYTON'.lower()
'pyton'
>>> ord('a')
97
>>> ord('z')
122
>>> chr(97)
'a'
>>> chr(122)
'z'
Testa att programmet fungerar. Kryptera ett meddelande.
2B
Skriv sedan kod så att du kan dekryptera. Testa.
2C
Utöka programmet så att det kan skifta ett valbart antal steg. Med två steg byts a mot c.
2D
Skriv ett program som kan knäcker Caesarchiffer, det vill säga testar alla möjliga rullningar.
Kan du dekryptera:
lwthni_lnqqfw_qtb_bjnlmy_utqdstrnfq_rzqynuqjx
3 Fler chiffer eller krypteringar
Exempel på fler sätt att kryptera på följer nedan. Skriv ett program som kan kryptera och dekryptera samt knäcka kod.