S-Log

S-Log („Sony-Log“) ist eine Bildprofil-Einstellung, die bei Sony-Kameras verwendet wird. Dieses Profil ermöglicht es, mehr Informationen in den Schatten- und Highlight-Bereichen eines Videos aufzuzeichnen, so, dass während der Postproduktion mehr Flexibilität bei der Farbkorrektur und Tonwertanpassung möglich ist.
Technische Momente, die im Zusammenhang mit S-Log beachten werden sollen:
(1) Belichtung während der Aufnahme: Da S-Log dazu neigt, das Bild flach und kontrastarm aussehen zu lassen, ist eine korrekte Belichtung während der Aufnahme entscheidend. Idealerweise sollten Sie die Belichtung so einstellen, dass das Histogramm im Kameradisplay oder -monitor gut ausbalanciert ist, ohne in den Schatten- oder Highlight-Bereichen Informationen zu verlieren.
(2) Farbkorrektur: In der Postproduktion können Sie den erweiterten Dynamikumfang von S-Log nutzen, um Farbkorrekturen und Tonwertanpassungen vorzunehmen. Sie können Schatten aufhellen und Highlights abdunkeln, um das gewünschte Aussehen zu erzielen. Hierbei ist es hilfreich, ein sogenanntes „Grading“ durchzuführen, um den visuellen Stil des Videos festzulegen.
(3) LUTs (Look-Up-Tables): Um das flache und kontrastarme Ausgangsbild von S-Log in ein ansprechenderes Bild umzuwandeln, können Sie Look-Up-Tables verwenden. LUTs sind vordefinierte Farbprofile, die auf das S-Log-Bild angewendet werden können, um es visuell ansprechender zu gestalten. Es gibt zahlreiche LUTs, die speziell für S-Log entwickelt wurden.
(4) Denoising und Schärfen: S-Log-Aufnahmen können dazu neigen, Rauschen zu erzeugen, insbesondere in den Schattenbereichen. Bei der Postproduktion ist es wichtig, angemessenes Denoising anzuwenden, um die Bildqualität zu verbessern. Ebenso können Sie auch Schärfen-Effekte hinzufügen, um die Details im Bild herauszuarbeiten.
(5) Export und Kompression: Das bearbeitete S-Log-Bild vor dem Export möglicherweise erneut angepasst werden muss, um im Zielmedium (z. B. Fernseher, Streaming-Dienste) gut auszusehen. Einige Plattformen verwenden bestimmte Farb- und Kontraststandards, die berücksichtigt werden müssen. Das exportierte Video muss dann gründlich überprüft werden.
Bei verschiedenen Kameraherstellern für ähnliche Bildprofile gibt es eigene vergleichbare mit S-Log Formate, z.B. Canon C-Log, Panasonic V-Log. Der Umgang mit diesen Profilen erfordert Verständnis, Übung und Experimentieren.

Rennpferde beim Sportwetten

Rennpferde beim Sportwetten

Aufgabe für Dictionary Comprehensions
Welches Rennpferd war zwischen 1970 und 1980 am längsten aktiv?
Hier sind die berümtsten Rennpferde ausgelistet:

1
print('Liste berühmter Rennpferde:')<br />race_horses = {<br />'Acatenango': (1993, 2005),<br />'Hoof Hearted': (1973, 1978),<br />'Seabiscuit': (1933, 1947),<br />'Anita Hanjab': (1951, 1969),<br />'Oil Beef Hooked': (1989, 1997),<br />'Ben Timover': (1974, 1986),<br />'Secretariat': (1972, 1989),<br />'Sea the Moon': (2014, 2020)<br />}<br />print('race_horses:', race_horses)

Schreiben Sie ein Programm, das mit Hilfe von Dictionary Comprehensions eine Auflistung der drei am längsten aktiv gewesenen Rennpferden:
{‚Pferdname1‘: n1, ‚Pferdname2‘: n2, ‚Pferdname3‘: n3}

Projekte: Python für Fortgeschrittene

Projekte aus Lernquellen

  • Geld aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.288 (OOP)
  • Abrechnung aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.294 (OOP)
  • Farbtester aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.298 (OOP)
  • Zahlenregen aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.301 (OOP)
  • CodeCademy: A Sorted Tale (Sortierung von Daten)
  • replit – online-Plattform mit Problemlösungen etc.
  • CodeCademy: Pokémon (OOP)
  • CodeCademy: Adopt a Pet (Web-Anwendung, Flask)
  • Turm von Hanoi aus dem Buch „Der Weg zum Profi“ (A. Sweigart) , S.288-301)
  • Vier gewinnt aus dem Buch „Der Weg zum Profi“ (A. Sweigart) , S. 301-306)
  • Plagiarism Checker (PDF zum herunterladen)
  • Wie spät ist es? (I) aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.371 (Webseiten)
  • Wie spät ist es? (II) aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.383 (Webseiten)
  • Umfrage aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.386 (Webseiten)
  • Wie spät ist es? (III) aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.393 (Webseiten)
  • Wie spät ist es? (IV) aus dem Buch „Python3 für Ausbildung“ (M.Weigend), S.320 (Webseiten)

Fragen zu Objektorientierte Programmierung

Fragen zu Objektorientierte Programmierung

  1. Was bedeutet Objektorientierte Programmierung?
  2. Auf welchen Prinzipien ist OOP basiert?
  3. Was sind Klassen und Objekte?
  4. Wie wird eine Klasse definiert und wie wird sie in der UML dargestellt?
  5. Was ist Konstruktor?
  6. Wie werden private und public Instanzvariablen erzeugt?
  7. Was sind Getter und Setter?
  8. Wie werden Objekte einer Klasse erzeugen?
  9. Wie kann man auf Attribute einer Klasse Zugreifen?
  10. Wie kann man Methoden einer Klasse aufrufen?
  11. Wie können Objekte mit variablen Anfangswerten erzeugt?
  12. Was sind Metaphern in Bezug zur OOP?
  13. Was sind Klassenattribute?
  14. Wie wird Polymorphie in Python realisiert?
  15. Wie ist die Relation zwischen Typ und Klasse?
  16. Was sind in Python Magische Methoden?
  17. Wie wird in Python die Vererbung realisiert und wie sie wird in der UML dargestellt?
  18. Was ist eine Hash-Funktion?
  19. Wie wird Mehrfachvererbung realisiert?
  20. Wa bedeutet Operator Overloading?
  21. Was sind ed-hoc-Objekte?

1. Square Numbers and Return Their Sum

In this challenge, you need to implement a method that squares passing variables and returns their sum.
Problem statement
Implement a class Point that has three properties and a method. All these attributes (properties and methods) should be public. This problem can be broken down into two tasks:
Task 1
Implement a constructor to initialize the values of three properties: x, y, and z.
Task 2
Implement a method, sqSum(), in the Point class which squares x, y, and z and returns their sum.
Sample properties: 1, 3, 5
Sample method output: 35
Coding exercise
First, take a close look at the slides above and then design a similar step-by-step algorithm before jumping to its implementation.

1
2
3
4
5
6
7
8
class Point:
def __init__(self):
self.x = x
self.y = y
self.z = z

def sqSum(self):
pass
Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Point:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z

def sqSum(self):
a = self.x * self.x
b = self.y * self.y
c = self.z * self.z
return(a + b + c)

obj1 = Point(4, 5, 6)
print(obj1.sqSum())

Explanation
Task 1:
We passed parameters and assigned them to their corresponding properties.
Task 2:
We calculated the squares of the properties by multiplying them with itself and stored them in a variable.
Then, we added all the squared numbers.
Finally, we returned their sum

2. Calculate the Student’s Performance

In this challenge, you need to implement a method that squares passing variables and returns their sum.
Problem statement
In this exercise, you have to calculate a student’s total marks using the concept of Classes.
Problem statement
Implement a class – Student – that has four properties and two methods. All these attributes (properties and methods) should be public. This problem can be broken down into three tasks.
Task 1
Implement a constructor to initialize the values of four properties: name, phy, chem, and bio.
Task 2
Implement a method – totalObtained – in the Student class that calculates total marks of a student.
Sample properties:

1
2
3
4
name = Mark
phy  = 80
chem = 90
bio  = 40

Sample method output: obj1.Total()=210
Task 3
Using the totalObtained method, implement another method, percentage, in the Student class that calculates the percentage of students marks. Assume that the total marks of each subject are 100. The combined marks of three subjects are 300.
The formula for calculating the percentage:

Sample input:

1
2
3
phy  = 80
chem = 90
bio  = 40

Sample output: 70
Coding exercise
Design a step-by-step algorithm before jumping to the implementation.

1
2
3
4
5
6
7
8
9
class Student:
def __init__(self):
pass

def totalObtained(self):
pass

def percentage(self):
pass
Solution
1
2
3
4
5
6
7
8
9
10
11
12
class Student:
def __init__(self, name, phy, chem, bio):
self.name = name
self.phy = phy
self.chem = chem
self.bio = bio

def totalObtained(self):
return(self.phy + self.chem + self.bio)

def percentage(self):
return((self.totalObtained() / 300) * 100)

Explanation
In line 3 – 6, we have initialized name, phy, chem, and bio as public properties in the class initializer.
In line 9, we have then defined the totalObtained() method. In this method, we added individual marks of all the subjects and returned the sum.
At last in line 12, we defined percentage(). In this method, we called totalObtained() and used its value to calculate the percentage.
300
300
is the total number of marks for a student.

3. Implement a Calculator Class

In this exercise, you have to implement a calculator that can perform addition, subtraction, multiplication, and division.
Problem statement
Write a Python class called Calculator by completing the tasks below:
Task 1
Initializer:
Implement an initializer to initialize the values of num1 and num2
Properties:
num1
num2
Task 2
Methods:
add() is a method that returns the sum of num1 and num2.
subtract() is a method that returns the subtraction of num1 from num2.
multiply() is a method that returns the product of num1 and num2.
divide() is a method that returns the division of num2 by num1.
Input:
Pass numbers (integers or floats) in the initializer.
Output:
addition, subtraction, division, and multiplication
Sample input:

1
2
3
4
5
obj = Calculator(10, 94);
obj.add()
obj.subtract()
obj.multiply()
obj.divide()

Sample method output:

1
2
3
4
104
84
940
9.4

Coding exercise
Design a step-by-step algorithm before jumping to the implementation.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Calculator:
def __init__(self):
pass

def add(self):
pass

def subtract(self):
pass

def multiply(self):
pass

def divide(self):
pass
Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Calculator:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2

def add(self):
return (self.num2 + self.num1)

def subtract(self):
return (self.num2 - self.num1)

def multiply(self):
return (self.num2 * self.num1)

def divide(self):
return (self.num2 / self.num1)

demo1 = Calculator(10, 94)
print("Addition:", demo1.add())
print("Subtraction:", demo1.subtract())
print("Mutliplication:", demo1.multiply())
print("Division:", demo1.divide())

Explanation
We have implemented the Calculator class, which has the two properties, num1 and num2.
In the initializer, at line 3 – 4, we have initialized both properties, num1 and num2.
In line 7, we implemented add(), a method that returns the sum, num1 + num2, of both properties.
In line 10, we implemented subtract(), a method that returns the subtraction of num1 from num2.
In line 13, we implemented multiply(), a method that returns the product, num2 x num1, of both properties.
In line 16, we implemented divide(), a method that returns the division of num2 by num1.

Prozedurale Programmierung

Die prozedurale Programmierung ist ein Programmierparadigma unter vielen anderen.
Bei der prozeduralen Programmierung wird ein Programm in kleinere Teile, sogenannte Methoden, unterteilt. Diese Methoden sind die grundlegenden Einheiten , die zum Erstellen eines Programms verwendet werden. Einer der Hauptvorteile der prozeduralen Programmierung ist die Wiederverwendbarkeit des Codes. Allerdings wird die Umsetzung eines komplexen realen Szenarios zu einer schwierigen und umständlichen Aufgabe.

Dart & Flutter Links

https://dartpad.dev/
Ingo zum Buch „Flutter-Apps für Dummies“ https://losfluttern.de/pummelthefish/
Zusatzmaterialien zum Buch https://github.com/novas1r1/pummel_the_fish
Network: https://www.meetup.com/pro/flutter/
Google Developer Group: https://gdg.community.dev/
Podcast: https://podcasters.spotify.com/pod/show/flutter-dach
https://stackoverflow.com/
https://docs.flutter.dev/
https://dart.dev/guides
Flutter Grundkurs 1 (Saban Ünlü):
https://www.linkedin.com/learning/flutter-grundkurs-1-okosystem-entwicklungsumgebung-einrichten/in-die-plattformubergreifende-applikationsentwicklung-mit-flutter-einsteigen?resume=false&u=36053084

Lernquellen

1. Programmiersprachen in 10 Minuten(Thomas Rose, LinkedIn Learning)
2. Dart Clean Code: Writing High-Efficiency, Maintainable Dart Programs (Temidayo Adefioye, LinkedIn Learning)
3. Flutter Essential Training: Build for Multiple Platforms (Pooja Bhaumik, LinkedIn Learning)
4. Flutter Grundkurs 1 (Saban Ünlü, LinkedIn Learning)
5. W3school (Syntax nachschlagen + Übungen)
6. Dart & Flutter: Zerro to Master [2023] (Maximilian Berktold,Udemy)
7. Dart Tutorial (Geeks For Geeks)

Links

QUIZ: Grundlagen der Programmierung (Basiswissen)
Stack Overflow

QUIZ: Grundlagen der Programmierung (Basiswissen)

Dart-Projekt in der Konsole

#Command-line and server apps
dart консольный проект
после инсталляции dart-sdk в zsh:

==> Caveats
Please note the path to the Dart SDK:
/usr/local/opt/dart/libexec
==> Summary
🍺 /usr/local/Cellar/dart/2.19.6: 1,040 files, 639.9MB, built in 29 seconds
==> Running `brew cleanup dart`…
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

https://dart.dev/tutorials/server/get-started

Dart: Variablen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// DART-SPIELWIESE (Listing 1.1)

void main() {  // main(): Einstiegspunkt einer Dart-Anwendung
 
  print('Hallo Dart');
  // Info: es gibt in Dart KEINE char wie Java für einzelne Zeichen
  // alles ist quasi ein String wenn Anführungszeichen benutzt werden
 
  // einzeiliger Kommentar
 
  /*
   *
   *  mehrzeiliger Kommentar
   *
  */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// DART-SPIELWIESE (Listing 1.1)

void main() {  // main(): Einstiegspunkt einer Dart-Anwendung
 
  print('Hallo Dart');
  // Info: es gibt in Dart KEINE char wie Java für einzelne Zeichen
  // alles ist quasi ein String wenn Anführungszeichen benutzt werden
 
  // einzeiliger Kommentar
 
  /*
   *
   *  mehrzeiliger Kommentar
   *
  */
 
  //
  // VARIABLEN (Container um Daten bzw. Werte abzulegen)
  //
  // in Dart werden Variablen mit dem Schlüsselwort var deklariert
 
  // Hinweis: wenn wir keinen Wert zuweisen
  // dann entscheidet Dart für uns bzw. machen die Variable "dynamic"
 
  var x;  // noch keinen Wert zugewiesen
  print(x);  // null (Variable OHNE Wert)
  // jederzeit den aktuellen Datenytyp einer Variable zur Laufzeit ausgeben
  print(x.runtimeType);  // Null (kein Datentyp festgelegt)
 
  // einer Variable einen Wert zuweisen: also initialisieren
  // Beispiel: y mit Wert 42 (also Ganzzahl bzw. int)
  var y = 42;  // int-Objekt
  print(y.runtimeType);  // int
 
  //print(z);  // undefined, also Error weil z vorher nicht definiert wurde
 
  // direkte Werte ausgeben an Konsole OHNE Zwischenweg über Variablen
  print(42);
  print('42');
 
  // Datentyp String
  // Beispiel Variable erzeugen namens "vorname" mit Wert "Peter"
  var vorname = 'Peter';
  print(vorname);
 
  // Spezialfall "dynamic" (Vorteil: Flexibilität)
  dynamic z;  // ohne Wertzuweisung
  z = 5;
  z = "Hugo";
  print(z);
  print(z.runtimeType);
  // per dynamic zur Laufzeit zB statt eines int-Wert einen String-Wert zuweisen
 
  // Hinweis: warum wird Datentyp "int" klein geschrieben
  // Historische Gründe, d.h. int ist zwar KEIN primitiver Datentyp
  // sondern ein Objekt der Klasse int, aber in Java nutzt man auch diese Schreibweise für int, double,...
 
  //int zahl = 7;
 
  //
  // DATENTYPEN
  //
 
  /*
   *  int       Ganzzahl                      5, -13, 0
   *  double    Fließkommazahl                3.14, -18.0, 13.999
   *  num       Numerisch                     3.14, 5
   *  (Kombi aus Ganz-und Kommazahl)
   *  bool      Boolean / Wahrheitswert       true, false
   *  String    Zeichenkette                  'Bob', "Pete"
   *  List      Liste mit mehren Elementen bzw. Array        &#91;'Berlin', 'Hamburg', 55]
   *  Map       Schlüssel/Werte-Paare (key/value)     {'x':8, 'y':16}
   *  dynamic   jeder Typ (flexibel)
   *
  */
 
  // Beispiel mit num:
  num zahl = 5;
  zahl = 3.14;
  print(zahl);
 
  //double a;
 
  // leere Variablen erzeugen zu den jew. oben genannten Datentypen
  int alter;
  double gewicht;
  bool istOnline;  // camelCase-Schreibweise
  String name;
  List hobbies;
  Map json;
 
  dynamic ort = 'Hamburg';
  ort = 100;
 
}

Stoffplan: Avid

Stoffplan
1. Einführung in die Avid Media Composer Umgebung 1.1. Die Arbeitsoberfläche 1.2 Projektaufbau und Organisation
2. Mit Ordnern (bins) arbeiten 2.1 Navigation und Marking Clips 2.2 Projekte sichern
3. Avid Prinzipien 3.1 Medienformate einspeisen 3.2 Aufnahmen für das Editieren vorbereiten 3.3 Aufnahmen mit dem Smart Tool verschieben und trimmen 3.4 Musik hinzufügen und mischen 3.5 Für das Web exportieren
4. Medien importieren und das Projekt organisieren 4.1 Medien über AMA (Avid Media Access) verlinken 4.2 Arbeiten mit FrameFlex 4.3 Material konsolidieren und transkodieren 4.4 Mit High-Resolution Dateien arbeiten 4.5 Auf Ordner (bins) anderer Projekte zugreifen
5. Rohschnitt anlegen 5.1 Die Grundlage anlegen 5.2 Material hinzufügen und entfernen 5.3 Das Smart Tool anwenden 5.4 Material ersetzen 5.5 Editieren mit drag-and-drop 5.6 Top and Tail
6. Den Schnitt verfeinern 6.1 Singe-roller und dual-roller Trims anwenden 6.2 Editieren mit slip and slide 6.3 Sync verstehen und reparieren
7. Techniken für die Navigation und Anpassung 7.1 Tastenkürzel für die Navigation und die Tastatur anpassen 7.2 Die Zeitleiste anpassen 7.3 Workspaces einrichten und speichern 7.4 Das Find Tool verwenden
8. Grundlagen Audio 8.1 Audio Levels, Panning und Multichannel verstehen 8.2 Audio Mixer verwenden 8.3 Audio Keyframes 8.4 Video und Audio synchronisieren
9. Mit Standbildern arbeiten 9.1 Standbilder animieren 9.2 Mit Ebenen aus Photoshop-Dateien arbeiten
10. Effekte 10.1 Traditionelle Übergänge einsetzen 10.2 Effekte im Effekte Editor editieren 10.3 Effekte Keyframes 10.4 Effekte Verschachteln (Nesting) 10.5 Timewarp anwenden 10.6 Mit Green-Screen Material umgehen

Projekt: Visittenkarte (HTML, CSS, JS)

Es gibt drei Möglichkeiten auf einer Website mit JavaScript den Nutzern direkt anzusprechen – die drei Dialogboxen mit und ohne Eingabemöglichkeit: (1) alert()
//eine Pop-Fenster Meldung im Browser
alert("Hallo Welt");
//oder
window.alert("Hallo Welt");

(2) prompt() 
//Pop-Fenster mit Eingabemöglichkeit
confirm("Stimmen Sie meiner Meinung zu?")
//oder
window.confirm("Stimmen Sie meiner Meinung zu?")

(3) confirm()
//Pop-Fenster mit 2 Buttons
confirm("Stimmen Sie meiner Meinung zu?")
//oder
window.confirm("Stimmen Sie meiner Meinung zu?")

( Es gib auch (4) window.console() für eine Kontrollausgabe)


Stoffplan: Dart&Flutter 1

1. Einführung in Flutter 1.1 Installation von Flutter 1.2 Einrichtung der Entwicklungsumgebung 1.3 Flutter Grundkonzepte 1.4 Ausführung eines Default-Projektes 1.5 Struktur des Projektes 1.6 Bibliotheken und Pakete
2. UI-Modell und Styling 2.1 Struktur der Benutzeroberfläche (Scaffold) 2.2 UI-Elemente in Flutter (Widgets) 2.3 Material Design und Cupertino 2.4 Stateless vs. Stateful Widgets 2.5 Widget-Eigenschaften 2.6 Layout mit und ohne State 2.7 Templates anbinden
3. Widgets in Flutter 3.1 Grundlegende Widgets 3.3 Anatomy des Widgets 3.4 Arten der Widgets 3.5 Eigene Widgets erstellen
4. Navigation zwischen Benutzeroberflächen 4.1 Definition einer "Route" in Flutter 4.2 “anonym”- und “named Navigator” 4.3 Übergänge zwischen Bildschirmen
5. Datenmanipulation 5.1 Operationen und Kontrollstrukturen 5.2 Methoden und Funktionen 5.3 Listen und Maps
6. Basistechniken der Code-Organisation 6.1 Refactoring 6.2 Dateispeicherung (dart:io) 6.3 Shared Preferences
7. Animationen 7.1 expliziten und impliziten Animationen 7.2 Tween-Animationen 7.3 Kurvenbasierte Animationen 7.4 Physikbasierte Animationen
8. Einführung in State Management  8.1 Widget- und Element-Bäume 8.2 Life-Cycles und States 8.3 initState( ) und setState( ) Methoden
9. Projektverwaltung 9.1 Kommentirung 9.2 Umgang mit Fehlern in Flutter 9.3 Versionskontrolle 9.4 Export des Projektes für verschiedene Plattformen

place()-Methode in Tkinter

Syntax:

widget.place(relx = 0.5, rely = 0.5, anchor = CENTER)

The Place geometry manager is the simplest of the three general geometry managers provided in Tkinter. It allows you explicitly set the position and size of a window, either in absolute terms, or relative to another window. You can access the place manager through the place() method which is available for all standard widgets. It is usually not a good idea to use place() for ordinary window and dialog layouts; its simply too much work to get things working as they should. Use the pack() or grid() managers for such purposes. 


GeSHi Error: GeSHi could not find the language lang (using path /homepages/0/d971837894/htdocs/clickandbuilds/wordpress_invario/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

Note : place() method can be used with grid() method as well as with pack() method.
When we use pack() or grid() managers, then it is very easy to put two different widgets separate to each other but putting one of them inside other is a bit difficult. But this can easily be achieved by place() method. In place() method, we can use in_ option to put one widget inside other.


GeSHi Error: GeSHi could not find the language lang (using path /homepages/0/d971837894/htdocs/clickandbuilds/wordpress_invario/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

Gehaltberechnung

Schreiben Sie ein Programm zur vereinfachten Berechnung der Steuer. Der Anwender wird dazu aufgefordert, sein monatliches Gehalt einzugeben. Anschließend werden 18 % dieses Betrags berechnet und ausgegeben. Nutzen Sie die Datei gehaltberechnung.py. Die Ausgabe kann zum Beispiel wie folgt aussehen:


Geben Sie Ihr Gehalt in Euro ein:
2500
Es ergibt sich eine Steuer von 450.0 Euro


Inch in Zentimeter Umwandler

Schreiben Sie ein Programm zur Eingabe und Umrechnung von beliebigen Inch-Werten in Zentimeter. Speichern Sie das Programm in der Datei inch_in_cm.py. Rufen Sie das Programm auf, und testen Sie es. Die Ausgabe kann zum Beispiel wie folgt aussehen:


Bitte geben Sie den Inch-Wert ein: 3.5
3.5 Inch sind 8.89 cm


Spiel: Rechnen trainiren

Probieren Sie den gegebenen Algorithmus mit allen mathematischen Operatoren aus

1
2
3
4
5
6
7
8
9
a=5
b=3
c=a+b
print(f"Die Aufgabe: {a} + {b}")
print("Bitte Lösungsvorschlag eingeben:")
z = input()
zahl = int(z)
print("Ihre Eingabe:", z)
print("Das Ergebnis:", c)

Weihnachtsbaum-1

Schreibe ein Programm, das die folgenden Muster in der Konsole ausgibt:

Lösung

Tipps:
String-Ausgabe mit Leerzeichen in print(), und benutzen Sie weitere parameter der Build-In Funktion print()


Stoffplan: Python 1

1. Python installieren
2. Erste Schritte
    2.1 Python an der Eingabeaufforderung
    2.2 Ein erstes Programm erstellen
    2.3 Das Programm ausführen
3. Die Programmiersprache Python
     3.1 Variablen und Operatoren
     3.2 Verzweigungen
     3.3 Schleifen
     3.4 Funktionen
     3.5 Datentypen
     3.6 Fehlerbehandlung in Python-Programmen
4. Objektorientierte Programmierung
     4.1 Klassen
     4.2 Konstruktoren, Destruktoren
     4.3 Methoden
     4.4 Vererbung
5. Benutzeroberflächen mit "Tkinter"