Teste dein PYTHON WISSEN!

preview_player
Показать описание

Inhalt 📚
In diesem Video zeige ich dir Python Aufgaben mit Lösungen. Also Python Übungsaufgaben für Einsteiger mit Lösungen. Alle Python Aufgaben werden wir nacheinander gemeinsam durchgehen und ich werde dir genau erklären, wie die einzelnen Lösungen in Python zustandekommen.
Ich wünsche dir viel Spaß mit dem Video.

00:00 | Einführung
01:31 | Aufgaben und Lösungen

EQUIPMENT(*)

SUPPORT

SOCIAL MEDIA

Рекомендации по теме
Комментарии
Автор

Coole Idee gerne mehr :) Für mich als Python-Neuling sinnvoll mal so den Wissensstand zu überprüfen.

soufiane
Автор

Hallo, hauptberuflicher Programmierer hier. Ich liebe die Idee dieses Tests, und konnte mit den Aufgaben meine Gehirnwindungen schön in Schwung bringen. Mir gefällt vor Allem, dass sowohl auf generelle Programmierkonzepte an sich (Scopes/Namensräume in Aufgabe 1, Rangfolgen von Operatoren in Aufgabe 2, usw.) eingegangen wird, also auch auf Python-spezifische Eigenheiten, wie etwa den verkürzten Tausch in Aufgabe 1 oder sogar "for else" weiter hinten. Ich habe einige eigene Schusselfehler bemerkt, und wurde auch ein paar mal ermutigt, Vermutungen zu überprüfen.

Eine Sache, die mich jedoch augenblicklich zurückgefahren ließ, ist die Erläuterung zu Kopien zwischen Aufgaben 5&6. Inhaltlich wird alles richtig erklärt, dass Slicing eine neue Liste erzeugt, während eine einfache Zuweisung nur einen weiteren Verweis auf die ursprüngliche Liste liefert. Das Problem, das ich habe, ist die Benennung als "flache" und "tiefe Kopie", welche in meinen Augen irreführend ist. Programmierer benutzen diese beiden Begriffe auf eine andere Weise, mehr dazu unten. Akkurater für das Beispiel hier wäre hier die Unterscheidung in Kopie und Referenz. Slicing wie in Aufgabe 5 erzeugt eine (echte, aber flache) Kopie, also eine neue Liste, welche mit den Original-Inhalten der ursprünglichen Liste aufgebaut wird. Aufgabe 6 erzeugt hingegen nur eine Referenz auf die ursprüngliche Liste. Es existiert dann nur eine einzige Liste, welche unter den beiden Namen "k" und "l" zu finden ist.

Der Unterschied zwischen flacher und tiefer Kopie kommt erst zum Tragen, wenn man komplexere Strukturen hat, beispielsweise Listen von Listen. Eine flache Kopie in diesem Fall wäre eine neue äußere Liste, welche jedoch als Inhalt Referenzen auf die ursprünglichen inneren Listen besitzt. Greift man auf das erste Element des Originals zu und dann auf das erste Element der flachen Kopie, hat man beide Male nicht nur zwei gleiche Objekte in der Hand, sondern ein und dasselbe Objekt. Eine tiefe Kopie hingegen wird auch die inneren Listen kopieren, sodass das Endergebnis vollkommen losgelöst vom Original existiert.

Eine kleine Aufgabe zu diesem Thema im Stil dieses Tests:
k = [[1, 2], [3, 4]]
m = k[1:]
m[0].append(5)
m.append(6)
print(k)
Was wird ausgegeben?
A) [[1, 2], [3, 4]]
B) [[1, 2], [3, 4, 5]]
C) [[1, 2], [3, 4], 6]
D) [[1, 2], [3, 4, 5], 6]

PS: Die Reihenfolge von Parametern mit/ohne Standardwert haben andere bereits erwähnt. Pflicht kommt zuerst.

major_melon
Автор

Tolle Idee mit dem Video! Mir als Neuling bringt so ein Video viel, da man nicht nur sein Wissen "Auffrischt" sondern auch viel dazu lernt. Gerne mehr davon!

dereiertreter
Автор

Sehr hilfreich deine Erklärungen dazu! Danke

realbeksy.
Автор

joan mein Freund wie immer großartiger content! Als hätte ich jetzt was anderes erwartet =)

SRo
Автор

4:08 a und b sind einfach lokale Variablen, sobald man ihnen Werte zuweißt, oder?

guitaek
Автор

Sehr cool! Das erste hat mich gekriegt 😄
Ansonsten hab ich nur den TypeError mit den Dicts als Key falsch :D

_Dearex_
Автор

Tipp zum "Beschleunigungsstreifen" aus Aufgabe 3: x<<1 entspricht x*2 (und x<<a = x*2^a), also musste man nur x*2³ rechnen

Yanni_X
Автор

Cool, das war wirklich mal interessant. Insbesondere weil das viele Sachen sind, die in der Praxis eher selten vorkommen. Ich meine wann sliced man mal ne Liste. Üblicherweise iteriert man drüber und macht dann irgendwas contextabhängig.

Skoell
Автор

Beschleunigungsstreifen fand ich einen coolen Namen!

guitaek
Автор

Cool mehr solche Python Videos

Danke Dir

Anonymus-eldk
Автор

Muss ich mir später anschauen, schreib grade auch Klausuren nur in andern Fächern. 😉

L__Master
Автор

Super erklärt am ende hab ich auch alles verstanden, aber ich persönlich finde das video etwas zu lang dafür dass du „nur“ das Quiz gemacht hast
gerne noch einen zweiten teil aber nächstes mal bitte nicht so viele aufgaben am stück aber nicht böse gemeint das Konzept ist cool ;)

It-tch
Автор

Das selbe mit der prog sprache C wäre sehr geil :)

Emanuel
Автор

Aufgabe 1: Ausgabe 2 1 da die Variablen nur lokal in der Methode tauschen geändert werden.
Aufgabe 2: True a>b ist True - dann interessiert der Term nach dem or nicht mehr.
Aufgabe 3: 24 -- x=x << 1 is equivalent zu x=2*x. Also 3 --> 6 --> 12 --> 24 und die Schleife ist fertig.

oida
Автор

Hey kannst du ein Video über die Uni Duisburg machen? Die erleben gerade eine cyberattacke und mussten dementsprechend alles herunterfahren.

BlueNixDEV
Автор

War die Prüfung auf Deutsch oder Englisch

dr.wafaahajesmaeil
Автор

Bitte auch in anderen Programmiersprachen wie Java👍🏻

amirozero
Автор

Allgemeine Frage: Ist Python-Code (oder auch Java, C#, JS usw.) schneller wenn man statt mathemaitsche Operationen, Bit-Shifting direkt nutzt ?! Denke da an die CPU

FilmfanOliver
Автор

Ist es nicht so in python, dass jeder wert, der nicht False oder 0 ist, automatisch True ist?
Somit müsste doch 1010 = True und somit muss Mann nicht 1010 mit 1010 vergleichen, sondern 1 mit 1, oder habe ich hier einen Denkfehler?
(Am Ergebnis würde sich aber dennoch nichts ändern XD)

Radulf