Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekt:python_erste_skripte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekt:python_erste_skripte [2026/02/16 07:49] torsten.roehlprojekt:python_erste_skripte [2026/02/23 08:19] (aktuell) – [Example 2: reflex_advanced] torsten.roehl
Zeile 20: Zeile 20:
  
  
-====== Example 1: reflexio  ======+====== Example 1: reflex_simple.py  ======
  
  
Zeile 26: Zeile 26:
 **Aufgabe - "Schnell, schneller, am schnellsten"** **Aufgabe - "Schnell, schneller, am schnellsten"**
  
-Schreibe ein Python-Programm (''reflexio''), das Reaktionszeiten messen kann.+Schreibe ein Python-Programm (''reflex_simple.py''), das Reaktionszeiten messen kann.
  
   * Beim Start soll eine kleine Anleitung erscheinen.   * Beim Start soll eine kleine Anleitung erscheinen.
Zeile 35: Zeile 35:
  
 ===== Quellcode ===== ===== Quellcode =====
-<code python reflexio.py>+<code python reflex_simple.py>
 #!/usr/bin/env python3 #!/usr/bin/env python3
  
Zeile 41: Zeile 41:
 # @author: DEIN NAME # @author: DEIN NAME
 # @version: 1.0 # @version: 1.0
-# @usage:    ./reflexio.py+# @usage:    ./reflex_simple.py
    
    
Zeile 47: Zeile 47:
 import random import random
  
-VERSION = "This is reflexio v.1.0"+VERSION = "This is reflex_simple v1.0.0"
  
 def main(): def main():
     print(VERSION)     print(VERSION)
  
-    print("==============  ANLEITUNG ===============================-")+    print("==============  ANLEITUNG ================================")
     print("(1) Drücke 'ENTER', um die Messung zu starten.")     print("(1) Drücke 'ENTER', um die Messung zu starten.")
     print("(2) Drücke 'ENTER', sobald  die Meldung 'JETZT' erscheint!")     print("(2) Drücke 'ENTER', sobald  die Meldung 'JETZT' erscheint!")
Zeile 83: Zeile 83:
 ===== Programm ausführen ===== ===== Programm ausführen =====
  
-Damit ein Python-Skript per './reflexio' ausführbar ist, müssen die unten aufgeführten Punkte erfüllt sein.+Damit ein Python-Skript per './reflex_simple.py' ausführbar ist, müssen die unten aufgeführten Punkte erfüllt sein.
   - Erste Zeile (**Shebang**) in die Datei einfügen: ''#!/usr/bin/env python3''   - Erste Zeile (**Shebang**) in die Datei einfügen: ''#!/usr/bin/env python3''
-  - Datei ausführbar machen: ''chmod +x reflexio'' +  - Datei ausführbar machen: ''chmod +x reflex_simple.py'' 
-  - Starten: .''/reflexio''+  - Starten: .''/reflex_simple.py''
  
  
  
-====== Example 2: reflexio-advanced  ======+====== Example 2: reflex_advanced.py  ======
  
  
Zeile 96: Zeile 96:
 **Aufgabe – „Schnell, schneller, am schnellsten“** **Aufgabe – „Schnell, schneller, am schnellsten“**
  
-Schreibe ein Python-Programm (''reflexio-advanced''), das Reaktionszeiten misst, diese optional sammelt und in einer gemeinsamen Datei speichert. Auf diese Weise soll beispielsweise der Mittelwert vieler einzelner Messungen berechnet werden können.+Schreibe ein Python-Programm (''reflex_advanced.py''), das Reaktionszeiten misst, diese sammelt und in einer gemeinsamen Datei speichert. Auf diese Weise soll beispielsweise der Mittelwert vieler einzelner Messungen berechnet werden können.
  
   * Beim Programmstart sollen folgende Optionen ausgewählt werden können:   * Beim Programmstart sollen folgende Optionen ausgewählt werden können:
Zeile 122: Zeile 122:
 =====  Programmstruktur anlegen  ===== =====  Programmstruktur anlegen  =====
  
-==== Hauptverzeichnis des Projekts: reflexio-advanced ====+==== Hauptverzeichnis des Projekts: course_reflex_advanced ====
 <code bash> <code bash>
-pi@raspi88:~/devel/projects/reflexio_advanced $ pwd +pi@raspi88:~/devel/projects/course_reflex_advanced $ pwd 
-/home/pi/devel/projects/reflexio_advanced+/home/pi/devel/projects/course_reflex_advanced
 </code> </code>
-==== Programmstrukur ====+==== Programmstruktur ====
  
 <code bash> <code bash>
-└── reflexio_advanced             python3 -m venv reflexio_advanced_env +└── course_reflex_advanced        Projektverzeichnis 
-    ├── reflexio_advanced_env +    │  
-    │   └── ...+
     ├── data                      # Ordner für die Messwerte (messwerte.txt)         ├── data                      # Ordner für die Messwerte (messwerte.txt)    
     └── src                       # Ordner für den Quellcode     └── src                       # Ordner für den Quellcode
         ├── core                  # core-Verzeichnis          ├── core                  # core-Verzeichnis 
         │   ├── __init__.py       # Erforderlich für Python!         │   ├── __init__.py       # Erforderlich für Python!
-        │   ── utility.py        # Hilfsfunktionen        +        │   ── utility.py        # Hilfsfunktionen        
         │   └── logic.py          # Programm-Logik         │   └── logic.py          # Programm-Logik
-        └── reflexio_advanced.py  # Main Programm+        └── reflex_advanced.py  # Main Programm
 </code> </code>
  
Zeile 165: Zeile 164:
 ++++ ohne Programmstruktur | ++++ ohne Programmstruktur |
  
-<code python   reflexio_0.py>+<code python   reflex_spaghetti.py>
 #!/usr/bin/env python3 #!/usr/bin/env python3
  
Zeile 172: Zeile 171:
 import os import os
  
-VERSION = "This is reflexio-advanced v1.0"+VERSION = "This is reflex_spaghetti v1.0.0"
 DATA_FILENAME = "messwerte.txt" DATA_FILENAME = "messwerte.txt"
 DATA_DIR = "data" DATA_DIR = "data"
Zeile 213: Zeile 212:
             time.sleep(random.uniform(2, 6))             time.sleep(random.uniform(2, 6))
  
-            print("JETZT!") +            print("JETZT!"        
-            print("Drücke jetzt sofort 'ENTER', um die Messung zu stoppen.")+
  
             start = time.perf_counter()             start = time.perf_counter()
Zeile 328: Zeile 326:
  
   * **Logik** Enthält die „Game-Logik“, also alles, was mit dem Messen und Speichern der Reaktionszeiten zu tun hat.   * **Logik** Enthält die „Game-Logik“, also alles, was mit dem Messen und Speichern der Reaktionszeiten zu tun hat.
-  * **Utility ** Enthält Hilfsfunktionen, die nicht direkt zur Logik gehören, aber vom Programm benötigt werden.+  * **Utility** Enthält Hilfsfunktionen, die nicht direkt zur Logik gehören, aber vom Programm benötigt werden.
   * **Hauptprogramm** Das eigentliche Programm. Hier sollte man starten, um die Funktionsweise des Programms zu überprüfen.   * **Hauptprogramm** Das eigentliche Programm. Hier sollte man starten, um die Funktionsweise des Programms zu überprüfen.
  
Zeile 402: Zeile 400:
 DATADIR = "data" DATADIR = "data"
 FILENAME = "messwerte.txt" FILENAME = "messwerte.txt"
- 
  
 # #
 # FUNKTIONEN # FUNKTIONEN
 # #
- 
  
 def get_file(): def get_file():
Zeile 438: Zeile 434:
     print("x - Beenden")     print("x - Beenden")
     print("---------------------------------------------------------")     print("---------------------------------------------------------")
- 
 </code> </code>
  
Zeile 444: Zeile 439:
 ==== Hauptprogramm ==== ==== Hauptprogramm ====
  
-<code python reflexio-advanced >+<code python reflex_advanced.py >
 #!/usr/bin/env python3 #!/usr/bin/env python3
  
Zeile 456: Zeile 451:
 from core.utility import get_file, show_menu, show_help from core.utility import get_file, show_menu, show_help
  
-VERSION = "This is reflexio-advanced v1.0"+VERSION = "This is reflex_advanced v1.0"
  
 def main(): def main():
projekt/python_erste_skripte.1771228172.txt.gz · Zuletzt geändert: von torsten.roehl