Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
phtg:bp:ch3:datacollection [2024-05-16 11:32] – [Python: Zeitstempel formatieren] hofphtg:bp:ch3:datacollection [2024-05-31 07:42] (aktuell) – [Python: Datei Ein- und Ausgabe] hof
Zeile 1: Zeile 1:
 ## Data Collection ## Data Collection
 +
 +<html><script type="module" src="https://bottom.ch/ksr/ed/bottom-editor.js"></script></html>
  
 Keine Batterie hält ewig - nun möchten wir wissen, wie lange unsere Batterie Strom liefert, und wieviel Energie wir praktisch nutzen konnten, bis sie leer ist. Aus der Physik wissen wir, dass $Spannung\cdot{}Strom$ die Leistung unserer Batterie (bzw. die Leistungsaufnahme der Leuchte) ergibt. Wenn wir die Leistung über die ganze Lebensdauer unseres Systems aufzeichnen, wissen wir, wieviel Arbeit die Batterie insgesamt geleistet hat. Keine Batterie hält ewig - nun möchten wir wissen, wie lange unsere Batterie Strom liefert, und wieviel Energie wir praktisch nutzen konnten, bis sie leer ist. Aus der Physik wissen wir, dass $Spannung\cdot{}Strom$ die Leistung unserer Batterie (bzw. die Leistungsaufnahme der Leuchte) ergibt. Wenn wir die Leistung über die ganze Lebensdauer unseres Systems aufzeichnen, wissen wir, wieviel Arbeit die Batterie insgesamt geleistet hat.
Zeile 60: Zeile 62:
 #### Python: Sensoren auslesen #### Python: Sensoren auslesen
  
-Einmalig muss in Python die `godirect` Bibliothek installiert werden ([Anleitung](https://vernierst.github.io/godirect-examples/python/#install-the-vernier-godirect-module)). Führe auf der Kommandozeile bzw. im Terminal folgenden Befehl aus:+**Einmalig** muss in Python die `godirect` Bibliothek installiert werden ([Anleitung](https://vernierst.github.io/godirect-examples/python/#install-the-vernier-godirect-module)). Führe auf der Kommandozeile bzw. im Terminal folgenden Befehl aus:
 <code bash> <code bash>
 pip3 install godirect pip3 install godirect
Zeile 87: Zeile 89:
 ##### Aufgabe ##### Aufgabe
 Schliesse deinen Spannungs-Sensor an und führe obigen Code aus. Die gemessene Spannung sollte nahe bei null sein. Schliesse deinen Spannungs-Sensor an und führe obigen Code aus. Die gemessene Spannung sollte nahe bei null sein.
- 
 #### Python: Datei Ein- und Ausgabe #### Python: Datei Ein- und Ausgabe
  
Zeile 103: Zeile 104:
    * Wenn Dateien gelesen oder geschrieben werden, müssen sie beim Betriebssystem reserviert werden. Mit `with` wird sichergestellt, dass die Datei nicht offen bleibt sondern nach dem Lesevorgang wieder geschlossen wird.    * Wenn Dateien gelesen oder geschrieben werden, müssen sie beim Betriebssystem reserviert werden. Mit `with` wird sichergestellt, dass die Datei nicht offen bleibt sondern nach dem Lesevorgang wieder geschlossen wird.
    * Die Datei (hier 'dateiname.csv') muss sich im gleichen Ordner befinden wie die Python-Datei.    * Die Datei (hier 'dateiname.csv') muss sich im gleichen Ordner befinden wie die Python-Datei.
-   * `'w'` bedeutet *write*, dass die Textdatei nur gelesen und nicht verändert wird.+   * `'w'` bedeutet *write*, also, dass die Textdatei nicht nur gelesen sondern auch beschrieben wird.
    * `str()` verwandelt die Zahl in einen Text.    * `str()` verwandelt die Zahl in einen Text.
    * `'\n'` ist der ASCII-Code für einen Zeilenumbruch.    * `'\n'` ist der ASCII-Code für einen Zeilenumbruch.
  
 ##### Aufgabe ##### Aufgabe
-Beschreibe eine Datei mit einigen Zeilen. Es ist ungünstig, mehr als einige zehntausend Zeilen zu schreiben.. +Beschreibe eine Datei mit einigen Zeilen. Es ist ungünstig, mehr als einige zehntausend Zeilen zu schreiben... 
-.+ 
 #### Python: Schlafen #### Python: Schlafen
 Wir wollen nur alle zehn Sekunden einen neuen Record schreiben, aber der Computer ist viel schneller. Zwischen den Messungen schlafen wir also: Wir wollen nur alle zehn Sekunden einen neuen Record schreiben, aber der Computer ist viel schneller. Zwischen den Messungen schlafen wir also:
  
-<code python> +<html><bottom-editor>import time 
-import time +duration = 3
-duration = 5+
 print(f'Hello, I will sleep for {duration} seconds!') print(f'Hello, I will sleep for {duration} seconds!')
 time.sleep(duration) time.sleep(duration)
 print('Yawn, just woke up!') print('Yawn, just woke up!')
-</code>+</bottom-editor></html>
  
 ##### Aufgabe ##### Aufgabe
  
 Führe den obigen Code aus. Ändere ihn so ab, dass der Schlaf nur noch $2.5s$ dauert! Führe den obigen Code aus. Ändere ihn so ab, dass der Schlaf nur noch $2.5s$ dauert!
 +
 #### Python: Zeitstempel formatieren #### Python: Zeitstempel formatieren
  
 Zeitstempel können aus der `datetime` Bibliothek geholt werden: Zeitstempel können aus der `datetime` Bibliothek geholt werden:
  
-<code python> +<html><bottom-editor>from datetime import datetime
-from datetime import datetime+
  
 print(datetime.now()) print(datetime.now())
-</code>+</bottom-editor></html>
  
 Mit Python f-Strings können mehrere Argumente praktisch in einen String gepackt werden: Mit Python f-Strings können mehrere Argumente praktisch in einen String gepackt werden:
  
-<code python> +<html><bottom-editor>from datetime import datetime
-from datetime import datetime+
 timestamp = datetime.now() timestamp = datetime.now()
 planet = 'Alderaan' planet = 'Alderaan'
 magnitude = 'great' magnitude = 'great'
 print(f'At {timestamp}, there was a {magnitude} disturbance in the Force on planet {planet}!') print(f'At {timestamp}, there was a {magnitude} disturbance in the Force on planet {planet}!')
-</code>+</bottom-editor></html>
  
 ##### Aufgabe ##### Aufgabe
Zeile 148: Zeile 148:
 Ändere den Code so ab, dass eine _small_ disturbance auf dem Planet _Coruscant_ rapportiert wird. Ändere den Code so ab, dass eine _small_ disturbance auf dem Planet _Coruscant_ rapportiert wird.
  
-(Du weisst nicht, was mit _Alderaan_ oder _Coruscant_ oder der [[https://starwars.fandom.com/wiki/Disturbance_in_the_Force|Disturbance in the Force]] gemeint ist? -> [[wpde>Star Wars]] schauen bis zur nächsten Lektion! +(Du weisst nicht, was mit _Alderaan_ oder _Coruscant_ oder der [[https://starwars.fandom.com/wiki/Disturbance_in_the_Force|Disturbance in the Force]] gemeint ist? -> [[wpde>Star Wars]] schauen bis zur nächsten Lektion!) 
-)+
 #### CSV-Format #### CSV-Format
 Unsere Log-Datei ist im [[wpde>CSV_(Dateiformat)|Comma-Separated-Values]] Format gespeichert: Die Daten sind ganz ähnlich gespeichert wie in einer Tabelle und können auch mit Excel und Sheets geöffnet werden. Jede Zeile entspricht einer Zeile der Tabelle; die Spalten sind meist mit Kommas voneinander getrennt. Manchmal werden aber auch Semikolons oder ein Tabulator (`\t`) als Trennzeichen verwendet. Unsere Log-Datei ist im [[wpde>CSV_(Dateiformat)|Comma-Separated-Values]] Format gespeichert: Die Daten sind ganz ähnlich gespeichert wie in einer Tabelle und können auch mit Excel und Sheets geöffnet werden. Jede Zeile entspricht einer Zeile der Tabelle; die Spalten sind meist mit Kommas voneinander getrennt. Manchmal werden aber auch Semikolons oder ein Tabulator (`\t`) als Trennzeichen verwendet.
  • phtg/bp/ch3/datacollection.1715859148.txt.gz
  • Zuletzt geändert: 2024-05-16 11:32
  • von hof