Als txt-Datei herunterladen


##Aufgabe 9-1##
DEZ:15
HEX:F
OKT:17
BIN:1111

DEZ:22
HEX:16
OKT:26
BIN:10110

DEZ:256
HEX:100
OKT:400
BIN:100 000 000

DEZ:512
HEX:200
OKT:1000
BIN:1 000 000 000

DEZ:1024
HEX:400
OKT:2000
BIN:10 000 000 000

DEZ:2048
HEX:800
OKT:4000
BIN:100 000 000 000

##Aufgabe 9-2##

# hd gibt einen Hexdump aus

#a) "Weiß"
UTF-8: 57 65 69 C3 9F
ISO: 57 65 69 DF

#b) "ÄäUüÖö"
UTF-8: C3 84 C3 A4 55 C3 BC C3 96 C3 B6
ISO: C4 E4 55 FC D6 F6

##Aufgabe 9-3##

# wc -c gibt die Bytezahl an
# alternativ ll Dateiname

#a) 'über'
UTF-8: 5 Bytes (oder 6 mit \n)
ISO: 4 Bytes (oder 5 mit \n)

#b)
#Die letzten drei Bytes welche die Zeichen "ber" repräsentieren sind identisch. Der UmLaut davor wird in ISO mit einem Byte codiert, in UTF-8 mit zwei anderen Bytes. 


#c)

utf8 = open('utf8.txt', 'r', encoding='UTF-8') #öffnet die Datei utf8.txt und erwartet als encoding UTF-8 (utf-8 ist das default Encoding)
iso = open('iso.txt', 'r', encoding='ISO-8859-1') #öffnet die Datei und erwartet Iso-Latin 1 als encoding
utf8_string = utf8.read() #mit read wird der gesamte Inhalt der Datei auf einmal in einen String geladen
iso_string = iso.read() #s.o.
if (utf8_string == iso_string):
    print ('Der Inhalt der Dateien ist identisch.')
else:
    print ('Der Inhalt der Dateien ist nicht identisch.')

iso.close()
utf8.close()

# 4a
# Nutzer nach zwei Wörtern fragen
wort1 = input("Bitte Wort 1 eingeben. ")
wort2 = input("Bitte Wort 1 eingeben. ")
# Wir wandeln alle Buchstaben in Kleinbuchstaben um
wort1 = wort1.lower()
wort2 = wort2.lower()
# Wir sortieren die Buchstaben der einzelnen Wörter und vergleichen diese sortierte Liste ob sie gleich ist.
if(sorted(wort1) == sorted(wort2)):
    print("Die Wörter sind Annagramme.")
else:
    print("Die Wörter sind keine Annagramme ")

# 4b
benutzerwort = input("Bitte Wort eingeben. ")
# Annagram zu tommarvoloriddle
internes_wort = "iamlordvoldemort"
benutzerwort = benutzerwort.lower()
if(sorted(benutzerwort) == sorted(internes_wort)):
    print("Die Wörter sind Annagramme.")
else:
    print("Die Wörter sind keine Annagramme ")

# 5
# Leeres Dictionary erstellen
dict = {}
# Schleife, durch die 4 mal durchgelaufen wird
for i in range(0,4):
    print("Person", str(i+1))
    name = input("Geben Sie den Namen ein:\n")
    alter = int(input("Geben Sie das Alter ein:\n"))
    # Eintrag mit Namen und Alter erstellen
    dict[name] = alter

# Durch gesamtes Dictionary laufen und das Alter jeweils um eins erhöhen, anschließend Ausgabe
for name in dict:
    dict[name] = dict[name] + 1
    print("Die Person",name, "ist jetzt", str(dict[name]),"Jahre alt.")

# 6
import re
# Regulärer Ausruck, der Ziffern findet
zahlregex = re.compile(r'[0−9]')
wittgenstein = open('wittgenstein.txt', 'r', encoding='utf−8')
# Wir gehen alle Zeilen des Programms einzeln durch
for line in wittgenstein:
    # Prüfen, ob der reguläre Ausdruck in der Zeile gefunden wird
    if(re.search(zahlregex,line)):
        print(line)
wittgenstein.close()