Compare commits
8 Commits
abgabe_ueb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| a9ea2a43df | |||
| a3b6471252 | |||
| f9a07bc96c | |||
| fae016369d | |||
| 01bfc9928a | |||
| 88417a060a | |||
| 6f1ef53214 | |||
| c5dd88145e |
41
src/Woche2/aufgabe2.py
Normal file
41
src/Woche2/aufgabe2.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
def key_string(key, text):
|
||||||
|
keystring = key
|
||||||
|
while len(keystring) <= len(text):
|
||||||
|
keystring += key
|
||||||
|
return keystring[: len(text)]
|
||||||
|
|
||||||
|
|
||||||
|
class VigenereCipher(object):
|
||||||
|
def __init__(self, key, alphabet):
|
||||||
|
self.alphabet = alphabet
|
||||||
|
self.key = key
|
||||||
|
self.keymap = []
|
||||||
|
for i in range(len(alphabet)):
|
||||||
|
self.keymap.append(alphabet)
|
||||||
|
alphabet = alphabet[1:] + alphabet[0]
|
||||||
|
|
||||||
|
def encode(self, text):
|
||||||
|
keystring = key_string(self.key, text)
|
||||||
|
encode_string = ""
|
||||||
|
|
||||||
|
for index, i in enumerate(text):
|
||||||
|
index_alpha = self.alphabet.find(i)
|
||||||
|
if index_alpha == -1:
|
||||||
|
encode_string += i
|
||||||
|
else:
|
||||||
|
index_key = self.alphabet.find(keystring[index])
|
||||||
|
encode_string += self.keymap[index_key][index_alpha]
|
||||||
|
return encode_string
|
||||||
|
|
||||||
|
def decode(self, text):
|
||||||
|
keystring = key_string(self.key, text)
|
||||||
|
decode_string = ""
|
||||||
|
|
||||||
|
for index, i in enumerate(text):
|
||||||
|
if self.alphabet.find(i) == -1:
|
||||||
|
decode_string += i
|
||||||
|
else:
|
||||||
|
index_key = self.alphabet.find(keystring[index])
|
||||||
|
index_alpha = self.keymap[index_key].find(i)
|
||||||
|
decode_string += self.alphabet[index_alpha]
|
||||||
|
return decode_string
|
||||||
15
src/Woche3/menu.py
Normal file
15
src/Woche3/menu.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
class Menu:
|
||||||
|
def __init__(self, menu):
|
||||||
|
self.menu = menu
|
||||||
|
self.selected = 0
|
||||||
|
|
||||||
|
def to_the_right(self):
|
||||||
|
self.selected = (self.selected + 1) % len(self.menu)
|
||||||
|
|
||||||
|
def to_the_left(self):
|
||||||
|
self.selected = (self.selected - 1) % len(self.menu)
|
||||||
|
|
||||||
|
def display(self):
|
||||||
|
display_array = self.menu[:]
|
||||||
|
display_array[self.selected] = [display_array[self.selected]]
|
||||||
|
return str(display_array)
|
||||||
13
src/Woche4/Aufgabe_who_likes_it.py
Normal file
13
src/Woche4/Aufgabe_who_likes_it.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
def likes(names):
|
||||||
|
length = len(names)
|
||||||
|
for i in range(4):
|
||||||
|
names.append("")
|
||||||
|
|
||||||
|
text = [
|
||||||
|
"no one likes this",
|
||||||
|
names[0] + " likes this",
|
||||||
|
names[0] + " and " + names[1] + " like this",
|
||||||
|
names[0] + ", " + names[1] + " and " + names[2] + " like this",
|
||||||
|
names[0] + ", " + names[1] + " and " + str(length - 2) + " others like this",
|
||||||
|
]
|
||||||
|
return text[length - (length > 3) * (length - 4)]
|
||||||
7
src/count_ip_addresses.py
Normal file
7
src/count_ip_addresses.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
def ips_between(start, end):
|
||||||
|
start_a = start.split(".")
|
||||||
|
end_a = end.split(".")
|
||||||
|
difference = 0
|
||||||
|
for index, i in enumerate(start_a):
|
||||||
|
difference += (int(end_a[index]) - int(i)) * 256 ** (3 - index)
|
||||||
|
return difference
|
||||||
Loading…
x
Reference in New Issue
Block a user