Ich habe dir schon gesagt, dass der Ansatz wie er bei der Gangschaltung greift NICHT geeignet ist zur Kontrolle für Bremsen und Licht. Bremsen ist nicht ein Schritt NACH Licht. Und auch nicht davor. Das passiert unabhängig voneinander. Gleiches gilt für die Lichthupe. Mal dir mal die vier möglichen Zustände, die das bremslichtsystem haben kann auf.
Nix
Bremsen
Bremsen+Licht
Licht
Dies sind in KEINE simple lineare Abfolge zu bringen. Da gibt es beliebige Sprünge. Und das muss der Code erlauben. Ich habe dir schon einen Weg genannt, wie man sowas darstellen kann. Lies nochmal meine Antwort, und Versuch das zu verstehen. Du kannst ja auch fragen stellen. Aber einfach den bestehenden Code kopieren und hoffen das klappt - geht nicht. Mit der Fahrradpumpe kannst du nunmal keinen Schaltkranz wechseln. Auch nicht durch heftiges draufhauen.
schaltlogik entwickeln für 8-gang-schaltung
ich bin dabei schrittweise das was 'gangschaltung' macht, auf die pwmled zu übertragen.
also hab ich erstmal 'grob' alles doppelt geschrieben, dann in led-bezeichnungen geändert und wollte nun die gemachten fehler langsam ausmerzen
hintergrund: 0, 0.2, 0.6, 1 soll die pwm-value werden, so wie in dem ersten script, wo ich die lampenschaltung hatte:
ich will also diese 'beleuchtungslogik' so umsetzen wie die 'gangschaltungslogik'
und zuerst stolper ich nun darüber das ich keine 'float-werte' in die liste setzen darf und da komm ich grad schon ins schwimmen.
schon schwer genug das zu versuchen so um zu modeln wie bei der gangschaltung
und das wird sicher nicht der letzte fehler sein der da (noch) ist.....
@deets: ja, ich muss das nochmal lesen, und vor allem verstehen was du da geschrieben hast
ich frage dann gern nochmal an.
bin so ein holzkopf der seine erfahrungen machen muss und 'einfach erstmal loslegt'
aber wer hinfällt, kann auch wieder aufstehen
lichtblitz:
meintest du man müsste die pwm=werte mit ganzen zahlen gleich setzen zb
0=0.0(pwm-wert)
1=0.2(pwm-wert)
2=0.6(pwm-wert)
3=1(pwm-wert)
wie binde ich diese 'tabelle dann ein, also das die pwmled weiss das diese liste die verschiedenen pwmwerte sind?
diese 'listenwerte'(links die ganzen zahlen) könnte ich dann als schaltzustände der 'modifizierten gangschaltung nutzen?! richtig?
also hab ich erstmal 'grob' alles doppelt geschrieben, dann in led-bezeichnungen geändert und wollte nun die gemachten fehler langsam ausmerzen

hintergrund: 0, 0.2, 0.6, 1 soll die pwm-value werden, so wie in dem ersten script, wo ich die lampenschaltung hatte:
Code: Alles auswählen
#!/usr/bin/python3
from gpiozero import LED, Button, PWMLED
from time import sleep
from signal import pause
button1 = Button(26) #lichtschalter
button2 = Button(19) #fernlichtschalter
button3 = Button(13) #blinkschalter links
button4 = Button(6) #blinkschalter rechts
button5 = Button(5) #hupenschalter
button6 = Button(11) #bremslichtschalter
startvalue = 0.2 # Helligkeit bei Skriptstart
fahrlicht_vorn = 0.5 #Abblendlicht vorn, wert
fernlicht_vorn = 1 #fernlicht vorn, wert
fahrlicht_hinten = 0.5 #fahrlicht hinten ,wert
bremslicht_hinten = 1 #bremslicht hinten, wert
led1 = PWMLED(21,initial_value=startvalue) # Fahrlicht vorn
led2 = PWMLED(20,initial_value=startvalue) # Fahrlicht hinten
led3 = LED(16) # blinker links
led4 = LED(12) # blinker rechts
led5 = LED(7) # hupe
led6 = LED(8) #
def fernlicht():
if led1.value < 1: # wenn abgeblendet
led1.value = 1 # dann aufblenden
else: # sonst
led1.value = fernlicht_aus #
def fernlicht_aus():
if button1 = 1
led1.value = fahrlicht_vorn
else
led1.value = startvalue
def fahrlicht_an():
led1.value = fahrlicht_vorn
led2.value = fahrlicht_hinten
def fahrlicht_aus():
led1.value = startvalue
led2.value = startvalue
def bremslicht_an():
led2.value = bremslicht_hinten
def bremslicht_aus():
led2.value = fahrlicht_hinten
def blinker_links():
led3.blink (on_time = 0.8, off_time = 0.2)
def blinker_rechts():
led4.blink (on_time = 0.8, off_time = 0.2)
button5.when_pressed = bremslicht_an
button5.when_released = bremslicht_aus
button1.when_pressed = fahrlicht_an
button1.when_released = fahrlicht_aus
button2.when_pressed = fernlicht
button3.when_pressed = blinker_links
button3.when_released = led3.off
button4.when_pressed = blinker_rechts
button4.when_released = led4.off
pause()
und zuerst stolper ich nun darüber das ich keine 'float-werte' in die liste setzen darf und da komm ich grad schon ins schwimmen.
schon schwer genug das zu versuchen so um zu modeln wie bei der gangschaltung

und das wird sicher nicht der letzte fehler sein der da (noch) ist.....
@deets: ja, ich muss das nochmal lesen, und vor allem verstehen was du da geschrieben hast

bin so ein holzkopf der seine erfahrungen machen muss und 'einfach erstmal loslegt'

aber wer hinfällt, kann auch wieder aufstehen

lichtblitz:
meintest du man müsste die pwm=werte mit ganzen zahlen gleich setzen zb
0=0.0(pwm-wert)
1=0.2(pwm-wert)
2=0.6(pwm-wert)
3=1(pwm-wert)
wie binde ich diese 'tabelle dann ein, also das die pwmled weiss das diese liste die verschiedenen pwmwerte sind?
diese 'listenwerte'(links die ganzen zahlen) könnte ich dann als schaltzustände der 'modifizierten gangschaltung nutzen?! richtig?
Die letzte Tabelle ist eine lookup tabelle, wie vorher schon GEARS2SERVO. Und ja, DAS kannst du benutzen. Schrieb ich auch schon. shift und clamp hingegen sind komplett ueberfluessig. Du schaltest keinen Licht-Gang hoch, und du musst auch nichts beschraenken. Das ist das mental komplett falsche modell, und da gibt es auch keinen schrittweisen weg, davon weg zu kommen, zu dem richtigen modell. Es ist in die falsche richtung gelaufen, und ausser Zeitverschwendung ist da kein Gewinn.
ja da hast du recht, aber:
ich habe gelernt was NICHT geht
für mich auch ein gewinn
wenn ich dich recht verstehe, meinst du ich soll nicht 'lichtghänge' schalten wie ich das versucht hab, sondern das anders lösen.
und ich hatte gedacht das des eine 'schlaue lösung' das so zu machen, damit ich über den weg hinbekomme was ich will,
nämlich fahrlicht an/aus
und wenn es mal gebraucht(getastet) wird nur von fernlicht an oder nur hinten bremslicht an und später wieder in den eigentlich gerade laufende helligkeit des 'fahrlichtes' wieder zurück schalten....
ich mach mir da mal eine skitze anhand ich dann die zustände besser sehe als sie nur im kopf zu haben...
ich habe gelernt was NICHT geht

für mich auch ein gewinn

wenn ich dich recht verstehe, meinst du ich soll nicht 'lichtghänge' schalten wie ich das versucht hab, sondern das anders lösen.
und ich hatte gedacht das des eine 'schlaue lösung' das so zu machen, damit ich über den weg hinbekomme was ich will,
nämlich fahrlicht an/aus
und wenn es mal gebraucht(getastet) wird nur von fernlicht an oder nur hinten bremslicht an und später wieder in den eigentlich gerade laufende helligkeit des 'fahrlichtes' wieder zurück schalten....
ich mach mir da mal eine skitze anhand ich dann die zustände besser sehe als sie nur im kopf zu haben...
hier mal die skitze oder 'schaltverlauf':
Programmstart
---> Fahrlicht an ---> Fahrlicht vorn und hinten, pwm 0.6
---> Fahrlicht aus --> fahrlicht vorm und hinten pwm 0.0
---> Fernlicht an ---> Fahrlicht, vorn pwm 1
---> Fernlicht aus ---> Fahrlicht vorn pwm 0.6 oder pwm 0, wenn Fahrlicht an oder aus
---> Bremslicht an ---> Fahrlicht hinten pwm 1
---> Bremslicht aus ---> Fahrlicht hinten pwm 0.6 oder pwm 0, wenn Fahrlich an oder aus
---> hupe an ---> hupe an
---> hupe aus ---> hupe aus
---> blinker links ---> blinker inks blinkt solange blinker an
---> blinker rechts blinkt solang blinker an
hab bissel drüber sinniert und kann die pwm 0.2 wenn man das programm einschaltet als startvalue auch weg lassen, ich krieg das schon mit, wenn eine lampe nicht will
das spart auch einen weiteren schaltzustand.
soweit ist das ganze geschalte auch kein problem, hab des ja auch schon so im alten script
fas 'erschlagen'.
wo es knifflig wird ist:
wie sag ich dem fern- und brems-licht wohin es zurück-schalten soll, beim ausschalten?!
kann ich beim einschalten der beleuchtung irgendwohin den 'ist-zustand' hinschreiben, der dann auch beim start erstmal auf =0 steht?
sodass sich das bremslicht und fernlicht wenn es aus geht von da den ausgangswert wieder holt und dahin zurückschaltet?
kann ich eine variable 'istzustand = 0' angeben, die ich beim anschalten vom licht 0 auf 0.6 setze und diese wenn fernlicht/ bremslicht wieder aus geht dann abfrage und dahin da licht dann wieder zurücksetze?
hab schon gelesen das sowas wohl geht, aber mir ist die funktionsweise nicht begreiflich, wie das dort erklärt wird.
selbst mit der lookup-tabelle:
0 = pwm 0
1 = pwm 0.6
2 = pwm 1
( wie muss ich die bennen? 'pwmtabelle' zb?)
kann ich zwar sagen 'geh nach 0,1,2' und dann geht pwm auf 0 , 0.6 , 1
aber die 'rückabfrage' hätte ich dann ja noch nicht wenn das fern- oder brems-licht dann aus geht?
daran 'hakt' ja auch die alte schaltung.
Programmstart
---> Fahrlicht an ---> Fahrlicht vorn und hinten, pwm 0.6
---> Fahrlicht aus --> fahrlicht vorm und hinten pwm 0.0
---> Fernlicht an ---> Fahrlicht, vorn pwm 1
---> Fernlicht aus ---> Fahrlicht vorn pwm 0.6 oder pwm 0, wenn Fahrlicht an oder aus
---> Bremslicht an ---> Fahrlicht hinten pwm 1
---> Bremslicht aus ---> Fahrlicht hinten pwm 0.6 oder pwm 0, wenn Fahrlich an oder aus
---> hupe an ---> hupe an
---> hupe aus ---> hupe aus
---> blinker links ---> blinker inks blinkt solange blinker an
---> blinker rechts blinkt solang blinker an
hab bissel drüber sinniert und kann die pwm 0.2 wenn man das programm einschaltet als startvalue auch weg lassen, ich krieg das schon mit, wenn eine lampe nicht will

das spart auch einen weiteren schaltzustand.
soweit ist das ganze geschalte auch kein problem, hab des ja auch schon so im alten script
fas 'erschlagen'.
wo es knifflig wird ist:
wie sag ich dem fern- und brems-licht wohin es zurück-schalten soll, beim ausschalten?!
kann ich beim einschalten der beleuchtung irgendwohin den 'ist-zustand' hinschreiben, der dann auch beim start erstmal auf =0 steht?
sodass sich das bremslicht und fernlicht wenn es aus geht von da den ausgangswert wieder holt und dahin zurückschaltet?
kann ich eine variable 'istzustand = 0' angeben, die ich beim anschalten vom licht 0 auf 0.6 setze und diese wenn fernlicht/ bremslicht wieder aus geht dann abfrage und dahin da licht dann wieder zurücksetze?
hab schon gelesen das sowas wohl geht, aber mir ist die funktionsweise nicht begreiflich, wie das dort erklärt wird.
selbst mit der lookup-tabelle:
0 = pwm 0
1 = pwm 0.6
2 = pwm 1
( wie muss ich die bennen? 'pwmtabelle' zb?)
kann ich zwar sagen 'geh nach 0,1,2' und dann geht pwm auf 0 , 0.6 , 1
aber die 'rückabfrage' hätte ich dann ja noch nicht wenn das fern- oder brems-licht dann aus geht?

daran 'hakt' ja auch die alte schaltung.
Ich hab dir dazu was geschrieben.
Eine weg sowas zu machen ist die Zustände der diversen Schalter bitweise zu kombinieren. 1 für Licht an, 2 für bremse gedrückt. Verodert nimmt das dann Werte von 0-3 an, und DAS schlägst du dann in einer Liste mit PWMS, zb [0, 0.5, 1, 1] nach. Da ist dann nicht bremsen und nicht Licht aus, Licht an halb hell, und alle anderen Kombinationen - nur bremsen, oder bremsen mit Licht - ganz hell.
hier mal eine meiner notizen:

das problem liegt dann wieder in der letzen zeile:
wie kann das zurück-schalten von 'licht mit bremslicht' oder 'licht mit fernlicht' korrekt laufen jenachdem in welchem zustand das licht vorher war?
also:
wenn licht gerade an war und man nichtmehr bremst, DANN wieder auf 'licht an' sonst ganz aus.
bzw:
wenn licht gerade an war und man nichmehr fernlicht an hat, DANN wieder auf 'licht an' sonst ganz aus
DAS problem hab ich bei bisher bei allen herangehensweisen
egal ob mit listen oder oder
irgendwo hab ich da besagten knoten im kopf.
einziger lösungsansatz den ich da bisher sehe:
den 'istzustand' irgendwie irgendwo hinspeichern und wieder auslesen können -nur wie?!

das problem liegt dann wieder in der letzen zeile:
wie kann das zurück-schalten von 'licht mit bremslicht' oder 'licht mit fernlicht' korrekt laufen jenachdem in welchem zustand das licht vorher war?
also:
wenn licht gerade an war und man nichtmehr bremst, DANN wieder auf 'licht an' sonst ganz aus.
bzw:
wenn licht gerade an war und man nichmehr fernlicht an hat, DANN wieder auf 'licht an' sonst ganz aus
DAS problem hab ich bei bisher bei allen herangehensweisen

egal ob mit listen oder oder

irgendwo hab ich da besagten knoten im kopf.
einziger lösungsansatz den ich da bisher sehe:
den 'istzustand' irgendwie irgendwo hinspeichern und wieder auslesen können -nur wie?!
- __blackjack__
- User
- Beiträge: 13938
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@geist4711: Den Zustand ob das Licht an oder aus ist zu speichern, wäre der Weg, den ich nehmen würde. Und zusätzlich die Stufe (aus, an, extra hell), damit man in den Methoden zum an- und ausschalten des Lichts und des zu- und abschalten von Fernlicht oder Bremslicht, immer die richtige Entscheidung treffen kann welche Stufe gesetzt werden muss. Denn es gibt ja nicht nur die Entscheidung bei Fern- oder Bremslicht ob man beim Abschalten auf normale Beleuchtung oder ganz aus wechselt, sondern auch beim Anschalten vom Fahrlicht ob man auf „an“ wechselt oder den aktuellen Zustand belässt wenn gerade das Fern- oder Bremslicht an ist. Beispiel: Wenn man gerade beim bremsen ist und dabei das Licht anschaltet, darf das Bremslicht dadurch ja nicht auf normale Helligkeit runter gehen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
ausgehend vom bisherigen beleuchtungsscript,
müsste dann also wenn ich mit 'fahrlicht_an' das fahrlicht anmache,
auchnoch irgendwie und irgendwo abspeichern 'fahrlich ist jetzt = 0.6' zb
also eine zeile dazu schreiben, die sagt 'speichere istzustand'
wenn dann 'fernlicht_aus' kommt, wird 'fahrlicht ist jetzt = 0.6''' abgefragt und
dessen wert als der wert genommen, den das fahrlicht nun annehmen soll.
das selbe beim bremslicht.
man kann dann auchnoch solche werte für bremslicht und fernlicht eintragen und beim einschalten des lichtes abfragen, das beim einschalten nicht das bremslicht aus geht......
oder:
ich hab 2 ausdrücke(vorderlichtwert, hinterlichtwert zb),
die 3 zustände(o, o.6, 1 -eben die pwm-stufen) annehmen können,
und da wird der 'momentanwert' eingetragen, also einer der 3 möglichen werte.
ich hab dann eine routine die nur abfragt welchen zustand das licht vorn und hinten hat und danach wird das licht dann heller oder dunkler gemacht -oder auch aus.
dazu eine 'sperre' wenn fern- oder bremslicht an gemacht wird, das das licht so hell bleibt wie beim bremsen/fernlicht sein soll, aber trotzdem den 'vorderlicht, hinterlicht'-wert neu schreibt, wenn man genau dann das licht einschaltet.
wie speichert man solche werte und liest sie aus?
oder hab ich da wieder ein 'hirngespinnst' ?
müsste dann also wenn ich mit 'fahrlicht_an' das fahrlicht anmache,
auchnoch irgendwie und irgendwo abspeichern 'fahrlich ist jetzt = 0.6' zb
also eine zeile dazu schreiben, die sagt 'speichere istzustand'
wenn dann 'fernlicht_aus' kommt, wird 'fahrlicht ist jetzt = 0.6''' abgefragt und
dessen wert als der wert genommen, den das fahrlicht nun annehmen soll.
das selbe beim bremslicht.
man kann dann auchnoch solche werte für bremslicht und fernlicht eintragen und beim einschalten des lichtes abfragen, das beim einschalten nicht das bremslicht aus geht......
oder:
ich hab 2 ausdrücke(vorderlichtwert, hinterlichtwert zb),
die 3 zustände(o, o.6, 1 -eben die pwm-stufen) annehmen können,
und da wird der 'momentanwert' eingetragen, also einer der 3 möglichen werte.
ich hab dann eine routine die nur abfragt welchen zustand das licht vorn und hinten hat und danach wird das licht dann heller oder dunkler gemacht -oder auch aus.
dazu eine 'sperre' wenn fern- oder bremslicht an gemacht wird, das das licht so hell bleibt wie beim bremsen/fernlicht sein soll, aber trotzdem den 'vorderlicht, hinterlicht'-wert neu schreibt, wenn man genau dann das licht einschaltet.
wie speichert man solche werte und liest sie aus?
oder hab ich da wieder ein 'hirngespinnst' ?

leute ich hab ein problem:
ich verwuche zu lernen wie ich python programmieren muss.
da bin ich auf beispiel- und lern-seiten.
zb hier:
http://www.michael-holzapfel.de/progs/p ... n_kurz.htm
da wir dann zb erklärt wie ich
irgendwas mache und was dann dabei raus kommt:
zb:
ist soweit alles auch logisch und mir verständlich.
nun wollte ich damit 'spielen' oindem ich x = 8 mal bischen veränder, um das was ich gelernt hab mal 'gesehen zu haben' , also wie sich die print-ausgabe tatsächlich so ändert...
wenn ich dann das zwischen den #-zeichen kopiere in mein file 'funktionstest.py' kopiere und 'run' mache kommt:
Traceback (most recent call last):
File "C:\Users\geist4711\AppData\Local\Programs\Thonny\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "D:\rasbpi\funktionstest.py", line 1
x = 8
^
IndentationError: unexpected indent
was ist hier los? bin ich zu doof die paar zeilen code zu kopieren und auszuführen?
ich verwuche zu lernen wie ich python programmieren muss.
da bin ich auf beispiel- und lern-seiten.
zb hier:
http://www.michael-holzapfel.de/progs/p ... n_kurz.htm
da wir dann zb erklärt wie ich
irgendwas mache und was dann dabei raus kommt:
zb:
Code: Alles auswählen
if-elif-else Beispiel:
#-von mir eingefügt
x = 8
if x > 5:
print ("x ist größer als 5")
elif x < 5:
print ("x ist kleiner als 5")
else:
print ("x ist 5") #-von mir eingefügt
Ausgabe:
x ist größer als 5
nun wollte ich damit 'spielen' oindem ich x = 8 mal bischen veränder, um das was ich gelernt hab mal 'gesehen zu haben' , also wie sich die print-ausgabe tatsächlich so ändert...
wenn ich dann das zwischen den #-zeichen kopiere in mein file 'funktionstest.py' kopiere und 'run' mache kommt:
Traceback (most recent call last):
File "C:\Users\geist4711\AppData\Local\Programs\Thonny\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "D:\rasbpi\funktionstest.py", line 1
x = 8
^
IndentationError: unexpected indent
was ist hier los? bin ich zu doof die paar zeilen code zu kopieren und auszuführen?
Zuletzt geändert von geist4711 am Samstag 3. August 2019, 12:37, insgesamt 1-mal geändert.
is mir auch grad aufgefallen, da man nicht sieht wie ds da steht, habs geändert.
einrücken:
wenn ich das alles so einrücke das
x=8
so wie hier ganz links steht und alles danach ausgerichtet eingerückt ist, bleibt der fehler, leider.
wie soll ich denn was lernen wenn nichtmal sowas funktioniert?! tschuldigung bin grad echt sauer, auf mich, irgendwie hab ich da wohl ne blokade....
so sieht mein funktionstest.py aus:
einrücken:
wenn ich das alles so einrücke das
x=8
so wie hier ganz links steht und alles danach ausgerichtet eingerückt ist, bleibt der fehler, leider.
wie soll ich denn was lernen wenn nichtmal sowas funktioniert?! tschuldigung bin grad echt sauer, auf mich, irgendwie hab ich da wohl ne blokade....
so sieht mein funktionstest.py aus:
Code: Alles auswählen
x = 8
if x > 5:
print ("x ist größer als 5")
elif x < 5:
print ("x ist kleiner als 5")
else:
print ("x ist 5")
- __blackjack__
- User
- Beiträge: 13938
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@geist4711: Warum rückst Du das denn *so* ein? Was soll das denn bedeuten?
Die verlinkte Kurzübersicht ist irgendwo zwischen Python 2 und 3 – da stehen Sachen die gelten so nur für Python 2 und welche die für Python 3. Ohne das irgendwie zu kennzeichnen.
Die verlinkte Kurzübersicht ist irgendwo zwischen Python 2 und 3 – da stehen Sachen die gelten so nur für Python 2 und welche die für Python 3. Ohne das irgendwie zu kennzeichnen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
ich hab das so eingerückt weil der schreiber das auch so eingerückt hat und ich das so übernommen habe 
ich wollte damit mal 'spielen' um zu lernen.
wenn da dann python 2 und 3 gemixt wird is das dämlich, also für mich nicht nutzbar.
mist!
kennst du ne deutsche seite wo man das besser lernen kann, wie man was in python macht?
und bitte nicht irgendwas von da:
https://py-tutorial-de.readthedocs.io/d ... lflow.html
bei dem versteh ich teilweise nichtmal was der von mir will, weil der nur irgendwelche bwl-kram behandelt wo mir nichtklar is was sowas soll
ich such was wo ich funktionen, also eingänge 'soundso' dann ausgänge 'soundso'
speichern, abfragen usw lernen kann, nicht steuerberechnungen oder wer wo wohnt usw
also technische dinge machen kann, nicht die prozente der steuer ausrechnen, da krieg ich hirn-krämpfe bei

ich wollte damit mal 'spielen' um zu lernen.
wenn da dann python 2 und 3 gemixt wird is das dämlich, also für mich nicht nutzbar.
mist!
kennst du ne deutsche seite wo man das besser lernen kann, wie man was in python macht?
und bitte nicht irgendwas von da:
https://py-tutorial-de.readthedocs.io/d ... lflow.html
bei dem versteh ich teilweise nichtmal was der von mir will, weil der nur irgendwelche bwl-kram behandelt wo mir nichtklar is was sowas soll

ich such was wo ich funktionen, also eingänge 'soundso' dann ausgänge 'soundso'
speichern, abfragen usw lernen kann, nicht steuerberechnungen oder wer wo wohnt usw

also technische dinge machen kann, nicht die prozente der steuer ausrechnen, da krieg ich hirn-krämpfe bei

hab's jetzt, nach ca einer std probieren, geschafft das es geht:
dein hinweis 'einrücken' war hilfreich DANKE
so müsste ds aussehen:
dann funktioniert das......
warum kann der das nicht gleich so da hinschreiben ?!
wie soll da ein anfänger dann was von lernen! ich könnt ko....!
tschuldigung, sowas regt mich einfach auf.
dein hinweis 'einrücken' war hilfreich DANKE
so müsste ds aussehen:
Code: Alles auswählen
x = 8
if x > 5:
print ("x ist größer als 5")
elif x < 5:
print ("x ist kleiner als 5")
else:
print ("x ist 5")
warum kann der das nicht gleich so da hinschreiben ?!
wie soll da ein anfänger dann was von lernen! ich könnt ko....!
tschuldigung, sowas regt mich einfach auf.
- __blackjack__
- User
- Beiträge: 13938
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@__deets__: Na der Herr Holzapfel, wo das Beispiel her ist: http://www.michael-holzapfel.de/progs/p ... n_kurz.htm
@geist4711: Was man mit den Grunddatenstrukturen anstellen kann, wie man mit den Kontrollstrukturen umgeht, wie man Funktionen definiert und aufruft, und wie man Klassen definiert, sowie das Zusammenspiel von Python-Syntax und den ”magischen” Methoden mit den beiden führenden und abschliessenden Unterstrichen, ist unabhängig davon was man konkret damit machen will. Das offizielle Tutorial in der Python-Dokumentation hat also auch, oder sogar überwiegend Beispiele von Sachen, die ganz konkret am Ende nur sehr wenige damit machen werden. Es wäre aber auch unsinnige Zeitverschwendung für jedes Einsatzgebiet ein eigenes Grundlagentutorial zu schreiben, wo im Grunde ja doch immer das gleiche drin steht. Eine gewisse Übertragungsleistung ist auch eine Grundlage beim Programmieren. Denn wenn man immer nur Beispiele suchen muss die genau oder fast das machen was man selber braucht, dann ist das kein Programmieren.
Speziell bei dem Link zu dem Kontrollstrukturen ist doch aber kein ”BWL” in den Beispielen‽
Die verlinkte Seite bei Holzapfel ist ja auch nicht zum lernen der Grundlagen, sondern eine kurze Übersicht zum nachschlagen. Der geht halt davon aus das man a) weiss das Einrückung in Python wichtig ist und welche Bedeutung sie hat, und b) kann man Argumentieren das die Beispiele richtig eingerückt sind, wenn man nicht von der Annahme ausgeht das der Rand der Seite auch der Rand des Beispiels ist. Die sind halt alle für das Layout der Seite eingerückt, damit optisch nicht alles am rechten Rand klebt und sich die ”Überschriften” besser von den Code-Beispielen abheben. Bei einer etwas weniger minimalistisch gestylten Seite hätte man das wahrscheinlich mit einer Tabelle gelöst, wo die ”Überschrift” in der rechten Spalte und die Beispiele dazu in der linken Spalte stehen würde.
@geist4711: Was man mit den Grunddatenstrukturen anstellen kann, wie man mit den Kontrollstrukturen umgeht, wie man Funktionen definiert und aufruft, und wie man Klassen definiert, sowie das Zusammenspiel von Python-Syntax und den ”magischen” Methoden mit den beiden führenden und abschliessenden Unterstrichen, ist unabhängig davon was man konkret damit machen will. Das offizielle Tutorial in der Python-Dokumentation hat also auch, oder sogar überwiegend Beispiele von Sachen, die ganz konkret am Ende nur sehr wenige damit machen werden. Es wäre aber auch unsinnige Zeitverschwendung für jedes Einsatzgebiet ein eigenes Grundlagentutorial zu schreiben, wo im Grunde ja doch immer das gleiche drin steht. Eine gewisse Übertragungsleistung ist auch eine Grundlage beim Programmieren. Denn wenn man immer nur Beispiele suchen muss die genau oder fast das machen was man selber braucht, dann ist das kein Programmieren.
Speziell bei dem Link zu dem Kontrollstrukturen ist doch aber kein ”BWL” in den Beispielen‽
Die verlinkte Seite bei Holzapfel ist ja auch nicht zum lernen der Grundlagen, sondern eine kurze Übersicht zum nachschlagen. Der geht halt davon aus das man a) weiss das Einrückung in Python wichtig ist und welche Bedeutung sie hat, und b) kann man Argumentieren das die Beispiele richtig eingerückt sind, wenn man nicht von der Annahme ausgeht das der Rand der Seite auch der Rand des Beispiels ist. Die sind halt alle für das Layout der Seite eingerückt, damit optisch nicht alles am rechten Rand klebt und sich die ”Überschriften” besser von den Code-Beispielen abheben. Bei einer etwas weniger minimalistisch gestylten Seite hätte man das wahrscheinlich mit einer Tabelle gelöst, wo die ”Überschrift” in der rechten Spalte und die Beispiele dazu in der linken Spalte stehen würde.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
im prinziep ärgere ich mich ehr über meine eigene unflexilität, das ich mich von sowas deratt ablenken und aus dem konzept bringenlasse -früher wär mir sowas nicht passiert....
aber mal eine frage, ich 'bastel weitr an meinem beleuchtung-script.
so schaut es nu aus:
ich versuche immernoch das fahrlicht,
wenn ich das fernlicht aus machen will,
dabei ab zu fragen,
ob fahrlicht_schalter momentan gedrückt ist
und danach dann die helligeit von fahrlicht_vorn zu setzen.
fernlicht aus-code nochmal einzeln, mit möglichst ausführlichem komentar, was ich damit wollte:
momentan steht da ja, das falsche:
if fahrlicht_schalter = 1
das funktioniert nicht, gibt ein 'invalid syntax'
egal ob ich da ein
fahrlicht_schalter.when_pressed
oder
if_pressed
oder sonstwas hin mache,
nix geht.
wie bitte heisst die korrekte abfrage eines jetzigen schaltzustandes eines eingangs?
also NICHT
'beispielbutton.when pressed',
was ja soweit ich weiss heisst
'wenn gedrückt wird',
sonder die abfrage:
'ist es gerade gedrückt?'
aber mal eine frage, ich 'bastel weitr an meinem beleuchtung-script.
so schaut es nu aus:
Code: Alles auswählen
#!/usr/bin/python3
from gpiozero import LED, Button, PWMLED
from signal import pause
fahrlicht_schalter = Button(26) #lichtschalter
fernlicht_taster = Button(19) #fernlichtschalter
blinker_links_schalter = Button(13) #blinkschalter links
blinker_rechts_schalter = Button(6) #blinkschalter rechts
hupentaster = Button(5) #hupenschalter
bremslicht_taster = Button(10) #bremslichtschalter
startvalue = 0 # Helligkeit bei Skriptstart
fahrlicht_vorn = 0.6 #Abblendlicht vorn, wert
fernlicht_vorn = 1 #fernlicht vorn, wert
fahrlicht_hinten = 0.6 #fahrlicht hinten ,wert
bremslicht_hinten = 1 #bremslicht hinten, wert
led_licht_vorn = PWMLED(21,initial_value=startvalue) # Fahrlicht vorn
led_licht_hinten = PWMLED(20,initial_value=startvalue) # Fahrlicht hinten
led_blinker_links = LED(16) # blinker links
led_blinker_rechts = LED(12) # blinker rechts
led_hupe = LED(7) # hupe
def fernlicht():
if led_licht_vorn.value < 1: # wenn abgeblendet
led_licht_vorn.value = 1 # dann aufblenden
else: # sonst
led_licht_vorn.value = fernlicht_aus #
def fernlicht_aus():
if fahrlicht_schalter = 1
led_licht_vorn = fahrlicht_vorn
else
led_licht_vorn.value = startvalue
def fahrlicht_an():
led_licht_vorn.value = fahrlicht_vorn
led_licht_hinten.value = fahrlicht_hinten
def fahrlicht_aus():
led_licht_vorn.value = startvalue
led_licht_hinten.value = startvalue
def bremslicht_an():
led_licht_hinten.value = bremslicht_hinten
def bremslicht_aus():
led_licht_hinten.value = fahrlicht_hinten
def blinker_links():
led_blinker_links.blink (on_time = 0.8, off_time = 0.2)
def blinker_rechts():
led_blinker_rechts.blink (on_time = 0.8, off_time = 0.2)
bremslicht_taster.when_pressed = bremslicht_an
bremslicht_tatser.when_released = bremslicht_aus
fahrlicht_schalter.when_pressed = fahrlicht_an
fahrlicht_schalter.when_released = fahrlicht_aus
fernlicht_taster.when_pressed = fernlicht
blinker_links_schalter.when_pressed = blinker_links
blinker_links_schalter.when_released = led_blinker_links.off
blinker_rechts_schalter.when_pressed = blinker_rechts
blinker_rechts_schalter.when_released = led_blinker_rechts.off
hupe_taster.when_pressed = led_hupe.on
hupe_taster.when_released = led_hupe.off
pause()
wenn ich das fernlicht aus machen will,
dabei ab zu fragen,
ob fahrlicht_schalter momentan gedrückt ist
und danach dann die helligeit von fahrlicht_vorn zu setzen.
fernlicht aus-code nochmal einzeln, mit möglichst ausführlichem komentar, was ich damit wollte:
Code: Alles auswählen
def fernlicht_aus(): #funktion fernlicht aus
if fahrlicht_schalter = 1 # if, abfrage fahrlicht_schalter (-noch falsch-)
led_licht_vorn = fahrlicht_vorn #dann, led_licht_vorn auf fahrlicht_vorn helligkeit
else #sonst
led_licht_vorn.value = startvalue #led_licht_vorn auf standartvalue helligkeit
if fahrlicht_schalter = 1
das funktioniert nicht, gibt ein 'invalid syntax'
egal ob ich da ein
fahrlicht_schalter.when_pressed
oder
if_pressed
oder sonstwas hin mache,
nix geht.
wie bitte heisst die korrekte abfrage eines jetzigen schaltzustandes eines eingangs?
also NICHT
'beispielbutton.when pressed',
was ja soweit ich weiss heisst
'wenn gedrückt wird',
sonder die abfrage:
'ist es gerade gedrückt?'