Hallo liebe Forumnutzer,
auf meiner erst inneren und dann nach Google gewandten Suche bin ich auf dieses Forum gestoßen.
Ich überlege nach einer Möglichkeit in Python folgendes Ereigniss zu beschreiben:
Wenn erst Ereigniss 1 und dann Ereigniss 2 eintritt möchte ich Wert A erhalten.
Wenn erst Ereigniss 2 und dann Ereigniss 1 eintritt möchte ich Wert B erhalten.
Die Ereignisse können auch leicht zeitversetzt sein.
Die Werte A und B können auch bspw. durch True und False ersetzt werden.
Um es sich besser vorstellen zu können:
Es gibt 2 Buttons das eine heißt 1 das andere 2.
wenn ich nun erst 1 und dann 2 drücke erhalte ich Wert A, wenn ich sie andersrum drücke erhalte ich Wert B.
______________
Weitere Gedanken:
Nach jeder Werteausgabe soll sich der Algorithmus resetten.
Ggf. soll auch eine Reset oder ein Wert C ausgegeben werden wenn das drücken des zweiten Buttons zu lange dauert.
Aber wenn ihr mir bei der Grundidee helfen könnt, knobel ich natürlich auch erstmal gerne selber weiter
______________
Ich hoffe ich bin mit meiner Frage hier im richtigen Forum gelandet
MfG
Problem mit logischer Aufgabe.
Hallo Sirius,
danke das Du Dich an meiner Lösung beteiligst.
Ich hatte den Grundgedanken von:
if Ergebniss 1 = True
UND DANN
Ergebniss 2 = True
Wert = A
RESET Ergebniss 1 & Ergebniss 2 (Aber Wert bleibt gesetzt)
if Ergebniss 2 = True
UND DANN
Ergebniss 1 = True
Wert = B
Ich suche eine Lösung für UND DANN.
Grüße
CybotDNA
danke das Du Dich an meiner Lösung beteiligst.
Ich hatte den Grundgedanken von:
if Ergebniss 1 = True
UND DANN
Ergebniss 2 = True
Wert = A
RESET Ergebniss 1 & Ergebniss 2 (Aber Wert bleibt gesetzt)
if Ergebniss 2 = True
UND DANN
Ergebniss 1 = True
Wert = B
Ich suche eine Lösung für UND DANN.
Grüße
CybotDNA
@CybotDNA: Die Lösung hat Sirius3 doch schon genannt. Du musst Dir immer das jeweils vorhergehende Ereignis *merken* und immer wenn ein neues Ereignis verarbeitet wird, das Vorhergehende und das Aktuelle testen. Wenn eine Kombination zutrifft (und ganz am Anfang) musst Du das vorhergehende Ereignis auf „keines” setzen. In Python nimmt man dafür in der Regel den Wert `None`.
Wenn die Zeit noch eine Rolle spielt, würde man die Ereignisse mit Zeitstempeln versehen. Mit `collections.namedtuple` könnte man recht einfach Objekte für die Ereignisse erstellen, die einen Ereignistyp und eine Zeit als Attribute haben. Für die Zeit könnte man die `time()`-Funktion aus dem `time`-Modul verwenden.
Edit:
Wenn die Zeit noch eine Rolle spielt, würde man die Ereignisse mit Zeitstempeln versehen. Mit `collections.namedtuple` könnte man recht einfach Objekte für die Ereignisse erstellen, die einen Ereignistyp und eine Zeit als Attribute haben. Für die Zeit könnte man die `time()`-Funktion aus dem `time`-Modul verwenden.
Edit:
Code: Alles auswählen
#!/usr/bin/env python
from collections import namedtuple
from time import time
Event = namedtuple('Event', 'type time')
def iter_events():
while True:
yield Event(int(raw_input('Enter 1 or 2: ')), time())
def main():
max_seconds = 5
previous_event = None
for current_event in iter_events():
if previous_event:
if current_event.time - previous_event.time > max_seconds:
previous_event = None
else:
value = None
types = (previous_event.type, current_event.type)
if types == (1, 2):
value = 'A'
elif types == (2, 1):
value = 'B'
if value is not None:
print value
previous_event = None
else:
previous_event = current_event
else:
previous_event = current_event
if __name__ == '__main__':
main()
@BlackJack,
danke das Du Dir so viel Mühe gemacht hast und gleich einen ganzen Codeausschnitt gepostet hast.
Ich versuche mich gerade darin 2 Buttons mit PHP zu erstellen und die Werte mit ahref in mein Script zu bekommen. (Also PHP ist klar, aber mit der Schlage tue ich mir noch ein wenig schwehr)
Wenn ich Erfolg hatte werde ich mich melden ob das Script so funktioniert wie ich es mir denke, ich wollte nur mal ein Lebenszeichen von mir geben, da ich es nicht mag wenn jmd. fragt und dann nicht darauf Stellung bezieht ob es funktioniert.
Es ist jetzt Wochenende, da bietet es sich ja an die Finger nicht an die einäugige Schlange zu verschwenden, sonder es mit Python zu probieren.
Ich melde mich wenn ich es gelöst habe, oder nicht weiterkomme.
danke das Du Dir so viel Mühe gemacht hast und gleich einen ganzen Codeausschnitt gepostet hast.
Ich versuche mich gerade darin 2 Buttons mit PHP zu erstellen und die Werte mit ahref in mein Script zu bekommen. (Also PHP ist klar, aber mit der Schlage tue ich mir noch ein wenig schwehr)
Wenn ich Erfolg hatte werde ich mich melden ob das Script so funktioniert wie ich es mir denke, ich wollte nur mal ein Lebenszeichen von mir geben, da ich es nicht mag wenn jmd. fragt und dann nicht darauf Stellung bezieht ob es funktioniert.
Es ist jetzt Wochenende, da bietet es sich ja an die Finger nicht an die einäugige Schlange zu verschwenden, sonder es mit Python zu probieren.
Ich melde mich wenn ich es gelöst habe, oder nicht weiterkomme.
@BlackJack,
ich möchte 2 sichtbare Buttons haben, da ich mit PHP Erfahrung habe, dachte ich mir nutze ich PHP für die Visualisierung der Buttons.
Den Import möchte ich machen um Erfahrung mit dem importieren zu sammeln.
Erstmal PHP, dann mysql, den Inhalt einer Email... Bis ich einen sicheren Umgang mit dem importieren der Daten nach Python habe.
Mein Logik Problem finde ich da gut, da ich immer auf neue Probleme stoße und so sicherer werden kann.
Manche Leute spielen Sudoku, ich habe mich entschlossen Python zu erlernen.
ich möchte 2 sichtbare Buttons haben, da ich mit PHP Erfahrung habe, dachte ich mir nutze ich PHP für die Visualisierung der Buttons.
Den Import möchte ich machen um Erfahrung mit dem importieren zu sammeln.
Erstmal PHP, dann mysql, den Inhalt einer Email... Bis ich einen sicheren Umgang mit dem importieren der Daten nach Python habe.
Mein Logik Problem finde ich da gut, da ich immer auf neue Probleme stoße und so sicherer werden kann.
Manche Leute spielen Sudoku, ich habe mich entschlossen Python zu erlernen.
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
Wenn du python lernen willst, warum programmierst du dann in PHP? Wie willst du "Daten" nach python importieren?CybotDNA hat geschrieben:Manche Leute spielen Sudoku, ich habe mich entschlossen Python zu erlernen.
Grüße,
anogayales
Hallo anogayales,
schön das Du auch interesse an der Thematik hast.
PHP muss ich nicht erst lernen, und mir fehlt in Python noch die Funktion, oder wenn es sie gibt, das Wissen, optisch klickbare Knöpfe zu erstellen.
Ich möchte die "Daten" über urllib2.urlopen('http://domain.xx/') mit response.read() importieren.
Eine schönere Möglichkeit fällt mir am Anfang noch nicht ein.
Unschön ist das ich dazu, soweit ich gerade bin, zwei subdomains mit je dem Inhalt (Ergebniss 1) oder (Ergebniss 2) öffnen muss.
Eine direkte übergabe durch klicken des Button währe natürlich schöner.
Oder halt eine ganz andere bessere Möglichkeit, die mir noch nicht einfällt.
Grüße,
CybotDNA
schön das Du auch interesse an der Thematik hast.
PHP muss ich nicht erst lernen, und mir fehlt in Python noch die Funktion, oder wenn es sie gibt, das Wissen, optisch klickbare Knöpfe zu erstellen.
Ich möchte die "Daten" über urllib2.urlopen('http://domain.xx/') mit response.read() importieren.
Eine schönere Möglichkeit fällt mir am Anfang noch nicht ein.
Unschön ist das ich dazu, soweit ich gerade bin, zwei subdomains mit je dem Inhalt (Ergebniss 1) oder (Ergebniss 2) öffnen muss.
Eine direkte übergabe durch klicken des Button währe natürlich schöner.
Oder halt eine ganz andere bessere Möglichkeit, die mir noch nicht einfällt.
Grüße,
CybotDNA
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
Okay,
ich versteh immer noch nicht genau wo dein Problem ist. Was ist den dein endgültiges Ziel?
Es sieht danach aus, also ob die Benutzereingabe ein essentieller Teil deines Problems ist. Ist der HTTP Server zwingend erforderlich? Falls nicht, gibt es eine Hand von GUI Bibliotheken, die auch Buttons anbieten.
Wenn du es erst Mal über eine URL lösen willst reicht urllib2.urlopen() vollkommen aus. Falls es komplizierter werden sollte kannst du dir auch mal http://docs.python-requests.org/en/latest/ anschauen. Wie stell ich mir das vor? Wenn du die Seite "'http://domain.xx/' aufrufst bekommst du zurück ob das Ergebniss 1 gesetzt worden ist? Auf einer anderen Seite findest du das Gleichen nur mit Ergebnis 2?
Ich glaub du machst dir die Sache viel zu kompliziert. Aber sag uns doch bitte was dein langfristiges Ziel ist, dann können wir dir auch besser helfen.
Grüße,
anogayales
ich versteh immer noch nicht genau wo dein Problem ist. Was ist den dein endgültiges Ziel?
Es sieht danach aus, also ob die Benutzereingabe ein essentieller Teil deines Problems ist. Ist der HTTP Server zwingend erforderlich? Falls nicht, gibt es eine Hand von GUI Bibliotheken, die auch Buttons anbieten.
Wenn du es erst Mal über eine URL lösen willst reicht urllib2.urlopen() vollkommen aus. Falls es komplizierter werden sollte kannst du dir auch mal http://docs.python-requests.org/en/latest/ anschauen. Wie stell ich mir das vor? Wenn du die Seite "'http://domain.xx/' aufrufst bekommst du zurück ob das Ergebniss 1 gesetzt worden ist? Auf einer anderen Seite findest du das Gleichen nur mit Ergebnis 2?
Ich glaub du machst dir die Sache viel zu kompliziert. Aber sag uns doch bitte was dein langfristiges Ziel ist, dann können wir dir auch besser helfen.
Grüße,
anogayales