##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()