Eigene Cocktailmaschine

Du hast eine Idee für ein Projekt?
Benutzeravatar
BlackJack
Moderator
Beiträge: 32712
Registriert: Dienstag 25. Januar 2005, 23:29
Wohnort: Berlin
Kontaktdaten:

Re: Eigene Cocktailmaschine

Beitragvon BlackJack » Mittwoch 17. Mai 2017, 08:44

@Kallinero: Das Vorgehen ist so vielleicht auch nicht wirklich zielführend. Du schreibst 130-Zeilenprogramme die ein komplettes Rezept mit externer Hardware mixen sollen, die aber ziemlich offensichtlich werden lassen, dass Du mit den Sprachmitteln zur Steuerung des Programmflusses noch deutliche Probleme hast. Vielleicht solltest Du das etwas kleinschrittiger angehen. Programme entwickelt man. Also man schreibt nicht ein komplettes Programm runter und testet *dann* erst ob es läuft und ob es das tut was man möchte, sondern man schreibt eine Funktion nach der anderen, und *testet* jede Funktion ob sie auch das tut was man möchte, *bevor* man mit der nächsten weiter macht.

Und gerade am Anfang, mit für Anfänger noch kompliziert aussehenden Schleifen und Bedingungen, macht es Sinn auch die eine oder andere Funktion nicht erst zu testen wenn sie komplett fertig geschrieben ist, sondern ebenfalls einen Teil schreiben und dann prüfen ob der bis dahin auch das tut was man möchte.

Ich bin ja immer noch der Meinung Du solltest Dich mal losgelöst von diesem Programm mit den Python-Grundlagen beschäftigen. Also zum Beispiel das Tutorial in der Python-Dokumentation durcharbeiten. Danach hast Du dann eine solidere Grundlage und kennst die Dir zur Verfügung stehenden Werkzeuge wie Sprachmittel und Datenstrukturen besser.
“XML combines all the inefficiency of text-based formats with most of the unreadability of binary formats :-)” — Oren Tirosh, c.l.p, 2002
Kallinero
User
Beiträge: 9
Registriert: Montag 8. Mai 2017, 14:44

Re: Eigene Cocktailmaschine

Beitragvon Kallinero » Donnerstag 18. Mai 2017, 17:51

So, ja nach lagem suchen hab ich auch den elif-Fehler entdeckt. Nach ein bisschen modifizieren hat alles funktioniert ... tadaa. Ich bin auch schon sehr weit gekommen mit dem Cocktailfinder, meiner Suchfunktion. Sie arbeitet eig auch schon so wie ich will. Ich kann mir ganze Rezepte suchen und ausgeben lassen, nur das einzige Problem ist, ich bekomme die beiden Funktionen Cocktailfinder() und mixen() nicht im Einklang. Selbst wenn ich aus ihnen eine Funktion mache und die Variablen nicht übergebe funktioniert das ganze nicht. Jetzt ist die Frage, ich fänd es natürlich sinnvoller wenn alles in zwei Funktionen funktioniert. Wie übergebe ich die Werte der einen Funktion der anderen ? Ich habe jetzt schon ein paar Sachen ausprobiert und gegooglt, erreiche aber nie das gewünschte Ziel.

  1. import sys
  2. import RPi.GPIO as GPIO
  3. import time
  4.  
  5.  
  6. oSaft = 0               #Bedingung
  7. grenadine = 0
  8. zitronensaft = 0
  9. tequila = 0
  10. wodka = 0
  11. blueCoracao = 0
  12. maracujasaft = 0
  13. ananassaft = 0
  14.  
  15. oSaft_ventil = 2                #Ventile zugeordnet
  16. grenadine_ventil = 3
  17. zitronensaft_ventil = 4
  18. tequila_ventil = 5
  19. wodka_ventil = 6
  20. blueCoracao_ventil = 17
  21. maracujasaft_ventil =18
  22. ananassaft_ventil = 19
  23.  
  24. GPIO.setmode(GPIO.BCM)          #gleiche Bezeichnung wie rasp
  25.  
  26. GPIO.setwarnings(False)
  27.  
  28. GPIO.setup(oSaft_ventil,GPIO.OUT)       #Initiualisierung der GPIOs
  29. GPIO.setup(grenadine_ventil,GPIO.OUT)
  30. GPIO.setup(zitronensaft_ventil,GPIO.OUT)
  31. GPIO.setup(tequila_ventil,GPIO.OUT)
  32. GPIO.setup(wodka_ventil,GPIO.OUT)
  33. GPIO.setup(blueCoracao_ventil,GPIO.OUT)
  34. GPIO.setup(maracujasaft_ventil,GPIO.OUT)
  35. GPIO.setup(ananassaft_ventil,GPIO.OUT)
  36.  
  37. GPIO.output(oSaft_ventil,True)              #Alle Ventile schließen
  38. GPIO.output(grenadine_ventil,True)
  39. GPIO.output(zitronensaft_ventil,True)
  40. GPIO.output(tequila_ventil,True)
  41. GPIO.output(wodka_ventil,True)
  42. GPIO.output(blueCoracao_ventil,True)
  43. GPIO.output(maracujasaft_ventil,True)
  44. GPIO.output(ananassaft_ventil,True)
  45.  
  46.  
  47. #Datein-Lesemethode:
  48.  
  49. def cocktailfinder():
  50.  
  51.     oSaft = 0               #Bedingung
  52.     grenadine = 0
  53.     zitronensaft = 0
  54.     tequila = 0
  55.     wodka = 0
  56.     blueCoracao = 0
  57.     maracujasaft = 0
  58.     ananassaft = 0
  59.  
  60.     zeile = 0
  61.  
  62.     gewaehlterCocktail = "Tequila Sunrise"
  63.    
  64.     cocktailliste = open("cocktailliste.txt","r")
  65.  
  66.     for line in cocktailliste:
  67.         zeile = zeile + 1
  68.         gefundenerCocktail = line.rstrip()
  69.    
  70.         if gefundenerCocktail == gewaehlterCocktail:
  71.             print(gewaehlterCocktail)
  72.             for line in cocktailliste:
  73.                 zeile = zeile + 1
  74.                 zutat = line.rstrip()
  75.                          
  76.                 if zutat == "O-Saft":
  77.                     for line in cocktailliste:
  78.                         zeile = zeile + 1
  79.                         oSaft = int(line.rstrip())
  80.                         break
  81.                 if zutat == "Grenadine":
  82.                     for line in cocktailliste:
  83.                         zeile = zeile + 1
  84.                         grenadine = int(line.rstrip())
  85.                         break
  86.                 if zutat == "Zitronensaft":
  87.                     for line in cocktailliste:
  88.                         zeile = zeile + 1
  89.                         zitronensaft = int(line.rstrip())
  90.                         break
  91.                 if zutat == "Tequila":
  92.                     for line in cocktailliste:
  93.                         zeile = zeile + 1
  94.                         tequila = int(line.rstrip())
  95.                         break
  96.                 if zutat == "Wodka":
  97.                     for line in cocktailliste:
  98.                         zeile = zeile + 1
  99.                         wodka = int(line.rstrip())
  100.                         break
  101.                 if zutat == "Blue Coracao":
  102.                     for line in cocktailliste:
  103.                         zeile = zeile + 1
  104.                         blueCoracao = int(line.rstrip())
  105.                         break
  106.                 if zutat == "Maracujasaft":
  107.                     for line in cocktailliste:
  108.                         zeile = zeile + 1
  109.                         maracujasaft = int(line.rstrip())
  110.                         break
  111.                 if zutat == "Ananassaft":
  112.                     for line in cocktailliste:
  113.                         zeile = zeile + 1
  114.                         ananassaft = int(line.rstrip())
  115.                         break
  116.                 if zutat == "Ende":
  117.                     break
  118.  
  119.     print(oSaft)
  120.     print(grenadine)
  121.     print(zitronensaft)
  122.     print(tequila)
  123.     print(wodka)
  124.     print(blueCoracao)
  125.     print(maracujasaft)
  126.     print(ananassaft)
  127.    
  128. def mixen():
  129.        
  130.     if oSaft != 0:                  #Ventile öffenen
  131.         GPIO.output(oSaft_ventil,False)
  132.     if grenadine != 0:
  133.         GPIO.output(grenadine_ventil,False)
  134.     if zitronensaft != 0:
  135.         GPIO.output(zitronensaft_ventil,False)
  136.     if tequila != 0:
  137.         GPIO.output(tequila_ventil,False)
  138.     if wodka != 0:
  139.         GPIO.output(wodka_ventil,False)
  140.     if blueCoracao != 0:
  141.         GPIO.output(blueCoracao_ventil,False)
  142.     if maracujasaft != 0:
  143.         GPIO.output(maracujasaft_ventil,False)
  144.     if ananassaft != 0:
  145.         GPIO.output(ananassaft_ventil,False)
  146.    
  147.     for i in range(25):             #Ventile schließen
  148.         if i == oSaft:
  149.             GPIO.output(oSaft_ventil,True)
  150.         if i == grenadine:
  151.             GPIO.output(grenadine_ventil,True)
  152.         if i == zitronensaft:
  153.             GPIO.output(zitronensaft_ventil,True)
  154.         if i == tequila:
  155.             GPIO.output(tequila_ventil,True)
  156.         if i == wodka:
  157.             GPIO.output(wodka_ventil,True)
  158.         if i == blueCoracao:
  159.             GPIO.output(blueCoracao_ventil,True)
  160.         if i == maracujasaft:
  161.             GPIO.output(maracujasaft_ventil,True)
  162.         if i == ananassaft:
  163.             GPIO.output(ananassaft_ventil,True)
  164.  
  165.         time.sleep(.1)
  166.  
  167. def main():
  168.     mixen()
  169. main()


Für alle Interessierten meine Cocktailliste.txt

Code: Alles auswählen

Tequila Sunrise
O-Saft
16
Grenadine
3
Zitronensaft
2
Tequila
9
Sirius3
User
Beiträge: 6007
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: Eigene Cocktailmaschine

Beitragvon Sirius3 » Donnerstag 18. Mai 2017, 20:36

Statt etlicher Variablen für die verschiedenen Bestandteile, solltest Du passende Datenstrukturen verwenden, also Wörterbücher. Eines für die Pins, eines für die Mengen. Dann sind die Parameter und Rückgabewerte, die noch bei Deinen Funktionen fehlen, ganz einfach. cocktailfinder wird nie aufgerufen.
Benutzeravatar
Kebap
User
Beiträge: 339
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Re: Eigene Cocktailmaschine

Beitragvon Kebap » Freitag 19. Mai 2017, 09:14

Kallinero hat geschrieben:Wie übergebe ich die Werte der einen Funktion der anderen ? Ich habe jetzt schon ein paar Sachen ausprobiert und gegooglt, erreiche aber nie das gewünschte Ziel.

Welche Sachen hast du denn ausprobiert?

Wieso googlst du solche Grundlagen, anstatt einfach Blackjacks Vorschlag zu folgen, und das Tutorial zu lesen?
MorgenGrauen: 1 Welt, >12 Gilden, >85 Abenteuer, >1000 Waffen und Rüstungen,
>2500 NPC, >16000 Räume, >170 freiwillige Programmierer, einfach Text, seit 1992.
Kallinero
User
Beiträge: 9
Registriert: Montag 8. Mai 2017, 14:44

Re: Eigene Cocktailmaschine

Beitragvon Kallinero » Montag 29. Mai 2017, 12:22

So,
da mir ja alle dazu geraten haben das Tutorial zu lesen, habe ich noch mehr gemacht. Ich habe das Vorgeschlagene gelesen und noch weitere, ich hab mir auch noch ne Youtube-Reihe dazu reingezogen. Ich habe versucht alles zu behalten und nicht für mich typisch alles wieder über den Jordan zu schicken. Ich verstehe jetzt eure vorherige Kritik an meinem Code. Ich bin aber immer noch nicht ganz überzeugt meine integer Variablen (Rezept-Variablen) durch eine andere Datenstruktur ab zu ändern.

SO, nun seht den Quellcode, den ich jetzt poste, nicht als fertig oder fast "vorzeigbar" an, das ist nur ein weiterer Zwischenschritt zu meiner für mich perfekten Methode. Zur Zeit kämpfe ich damit ,dass ich wenn ich das Programm aufrufe nur einmal einen Cocktail mixen kann.

PS. Ich weiß das ich mir immer mehrere Probleme gleichzeitig schaffe, indem ich ein Problem nicht behandel sondern direkt ein "neues" schaffe, weil ich mit was neuem anfange, aber ich bin sehr schnell von so etwas genervt. Wenn es selbst beim 5 mal korrigieren immer noch Fehler gibt, macht mich das wütend und ich muss mit was neuem anfangen um zumindest ein bisschen ein Erfolgserlebnis zu haben.

  1. import sys
  2. import RPi.GPIO as GPIO
  3. from Tkinter import *
  4. import time
  5.  
  6. #---------------------------------------------- Ventile zuordnen ----------------------------------------------
  7.  
  8. oSaft_ventil = 2               
  9. grenadine_ventil = 3
  10. zitronensaft_ventil = 4
  11. tequila_ventil = 5
  12. wodka_ventil = 6
  13. blueCoracao_ventil = 17
  14. maracujasaft_ventil =18
  15. ananassaft_ventil = 19
  16.  
  17. #---------------------------------------------- Initiualisierung der GPIOs ----------------------------------------------
  18.  
  19. GPIO.setmode(GPIO.BCM)         
  20.  
  21. GPIO.setup(oSaft_ventil,GPIO.OUT)      
  22. GPIO.setup(grenadine_ventil,GPIO.OUT)
  23. GPIO.setup(zitronensaft_ventil,GPIO.OUT)
  24. GPIO.setup(tequila_ventil,GPIO.OUT)
  25. GPIO.setup(wodka_ventil,GPIO.OUT)
  26. GPIO.setup(blueCoracao_ventil,GPIO.OUT)
  27. GPIO.setup(maracujasaft_ventil,GPIO.OUT)
  28. GPIO.setup(ananassaft_ventil,GPIO.OUT)
  29.  
  30. #---------------------------------------------- Ventile schließen ----------------------------------------------
  31.  
  32. GPIO.output(oSaft_ventil,True)             
  33. GPIO.output(grenadine_ventil,True)
  34. GPIO.output(zitronensaft_ventil,True)
  35. GPIO.output(tequila_ventil,True)
  36. GPIO.output(wodka_ventil,True)
  37. GPIO.output(blueCoracao_ventil,True)
  38. GPIO.output(maracujasaft_ventil,True)
  39. GPIO.output(ananassaft_ventil,True)
  40.  
  41. #---------------------------------------------- Cocktailfinder ----------------------------------------------
  42.  
  43. def mixen(gewaehlterCocktail):
  44.        
  45.     oSaft = 0              
  46.     grenadine = 0
  47.     zitronensaft = 0
  48.     tequila = 0
  49.     wodka = 0
  50.     blueCoracao = 0
  51.     maracujasaft = 0
  52.     ananassaft = 0
  53.    
  54.     cocktailliste = open("cocktailliste.txt","r")
  55.  
  56.     for line in cocktailliste:
  57.         gefundenerCocktail = line.rstrip()
  58.    
  59.         if gefundenerCocktail == gewaehlterCocktail:
  60.             print(gewaehlterCocktail)
  61.             for line in cocktailliste:
  62.                 zutat = line.rstrip()
  63.                          
  64.                 if zutat == "O-Saft":
  65.                     for line in cocktailliste:
  66.                         oSaft = int(line.rstrip())
  67.                         break
  68.                 if zutat == "Grenadine":
  69.                     for line in cocktailliste:
  70.                         grenadine = int(line.rstrip())
  71.                         break
  72.                 if zutat == "Zitronensaft":
  73.                     for line in cocktailliste:
  74.                         zitronensaft = int(line.rstrip())
  75.                         break
  76.                 if zutat == "Tequila":
  77.                     for line in cocktailliste:
  78.                         tequila = int(line.rstrip())
  79.                         break
  80.                 if zutat == "Wodka":
  81.                     for line in cocktailliste:
  82.                         wodka = int(line.rstrip())
  83.                         break
  84.                 if zutat == "Blue Coracao":
  85.                     for line in cocktailliste:
  86.                         blueCoracao = int(line.rstrip())
  87.                         break
  88.                 if zutat == "Maracujasaft":
  89.                     for line in cocktailliste:
  90.                         maracujasaft = int(line.rstrip())
  91.                         break
  92.                 if zutat == "Ananassaft":
  93.                     for line in cocktailliste:
  94.                         ananassaft = int(line.rstrip())
  95.                         break
  96.                 if zutat == "Ende":
  97.                     break
  98.  
  99. #---------------------------------------------- Mischfunktion ----------------------------------------------
  100.  
  101. #---------------------------------------------- Max-Finder ----------------------------------------------
  102.  
  103.     maximum = 0
  104.  
  105.     if maximum < oSaft:
  106.         maximum = oSaft
  107.     if maximum < grenadine:
  108.         maximum = grenadine
  109.     if maximum < zitronensaft:
  110.         maximum = zitronensaft
  111.     if maximum < tequila:
  112.         maximum = tequila
  113.     if maximum < wodka:
  114.         maximum = wodka
  115.     if maximum < blueCoracao:
  116.         maximum = blueCoracao
  117.     if maximum < maracujasaft:
  118.         maximum = maracujasaft
  119.     if maximum < ananassaft:
  120.         maximum = ananassaft
  121.  
  122. #---------------------------------------------- Ventile öffnen ----------------------------------------------
  123.  
  124.     if oSaft != 0:                 
  125.         GPIO.output(oSaft_ventil,False)
  126.     if grenadine != 0:
  127.         GPIO.output(grenadine_ventil,False)
  128.     if zitronensaft != 0:
  129.         GPIO.output(zitronensaft_ventil,False)
  130.     if tequila != 0:
  131.         GPIO.output(tequila_ventil,False)
  132.     if wodka != 0:
  133.         GPIO.output(wodka_ventil,False)
  134.     if blueCoracao != 0:
  135.         GPIO.output(blueCoracao_ventil,False)
  136.     if maracujasaft != 0:
  137.         GPIO.output(maracujasaft_ventil,False)
  138.     if ananassaft != 0:
  139.         GPIO.output(ananassaft_ventil,False)
  140.  
  141. #----------------------------------------------Ventile schließen ----------------------------------------------
  142.    
  143.     for i in range(maximum):               
  144.         if i == oSaft:
  145.             GPIO.output(oSaft_ventil,True)
  146.         if i == grenadine:
  147.             GPIO.output(grenadine_ventil,True)
  148.         if i == zitronensaft:
  149.             GPIO.output(zitronensaft_ventil,True)
  150.         if i == tequila:
  151.             GPIO.output(tequila_ventil,True)
  152.         if i == wodka:
  153.             GPIO.output(wodka_ventil,True)
  154.         if i == blueCoracao:
  155.             GPIO.output(blueCoracao_ventil,True)
  156.         if i == maracujasaft:
  157.             GPIO.output(maracujasaft_ventil,True)
  158.         if i == ananassaft:
  159.             GPIO.output(ananassaft_ventil,True)            
  160.         time.sleep(1)
  161.        
  162.     GPIO.cleanup()
  163.  
  164. #---------------------------------------------- Kontrolle kann geschlöscht werden! ----------------------------------------------
  165.  
  166.     print(" ")
  167.     print("So viel Osaft ist drin: %d "%(oSaft))
  168.     print("So viel Grenadine ist drin: %d "%(grenadine))
  169.     print("So viel Zitronensaft ist drin: %d "%(zitronensaft))
  170.     print("So viel Tequila ist drin: %d "%(tequila))
  171.     print("So viel Wodka ist drin: %d "%(wodka))
  172.     print("So viel Blue Coracao ist drin: %d "%(blueCoracao))
  173.     print("So viel Maracujasaft ist drin: %d "%(maracujasaft))
  174.     print("So viel Ananassaft ist drin: %d "%(ananassaft))
  175.  
  176. #---------------------------------------------- Layout ----------------------------------------------  
  177.  
  178. #---------------------------------------------- Funktionen ----------------------------------------------
  179.  
  180. #---------------------------------------------- Auswaehlen ----------------------------------------------    
  181.  
  182. def choose():
  183.     print("auswaehlen")                                                                  
  184. #---------------------------------------------- Mixen ----------------------------------------------
  185.  
  186. def mixit():                                                                    
  187.     gewaehlterCocktail = liste.get("active")
  188.     mixen(gewaehlterCocktail)
  189.  
  190. #---------------------------------------------- Fullscreen ----------------------------------------------
  191.  
  192. def close(event):
  193.     top.attributes("-fullscreen", False)
  194.                
  195. top = Tk()
  196. top.attributes("-fullscreen", True)
  197. top.config(bg="white")
  198. top.bind("<Escape>", close)
  199.  
  200. #---------------------------------------------- Label ----------------------------------------------
  201.  
  202. cocktail = Label(top)                              
  203. cocktail.config(height = 30,width = 50, bg = "red")
  204. cocktail.grid(row = 1 , column =2)
  205.  
  206. rezept = Label(top)
  207. rezept.config(height = 25, width = 35, bg = "grey")
  208. rezept.grid(row = 1 , column = 3)
  209.  
  210. #---------------------------------------------- Liste ----------------------------------------------
  211.  
  212. liste = Listbox(top, height = 17)                                        
  213. liste.config(font=('Times New Roman',20))
  214. liste.grid(row = 1, column = 4)
  215.  
  216. def wechselalk():
  217.     liste.delete(0,50)
  218.     liste.insert("end","All in One","Alice Deluxe","Baltic","Black Death","El Dorado","Emerald Dream","Exotic Blue","Festini","Florida Sunrise","Green Eyes","Green Poisen","Grüne Wiese","Happy Hour","Hawaiian Vodka","Knock Out","Mexicano","Pink Pussycat","Screwdriver","Simple Red","Springtime Cooler","Tequila Sunrise")
  219.  
  220. def wechselalkfrei():
  221.     liste.delete(0,50)
  222.     liste.insert("end","Alice","Ballerina","Batman Cocktail","Bora Bora","Golden Nugget","Pussy Foot","Yellowjacket","Thoothless Shark")
  223.  
  224. #---------------------------------------------- Frame ----------------------------------------------
  225.  
  226. frame1 = Frame(top)
  227. frame1.grid(row = 0, column = 4)
  228.  
  229. #---------------------------------------------- Radiobutton ----------------------------------------------
  230.  
  231. anti = Radiobutton(frame1, text="Alkoholfrei",font=('Times New Roman',18), bg = "white", value=0,height = 1, command = wechselalkfrei)
  232. voll = Radiobutton(frame1, text="Alkoholvoll",font=('Times New Roman',18), bg = "white", value=1,height = 1, command = wechselalk)
  233. anti.grid(row = 0, sticky = "w")
  234. voll.grid(row = 1, sticky = "w")
  235.  
  236. #---------------------------------------------- Scrollbar ----------------------------------------------
  237.  
  238. scroll = Scrollbar(top, orient = VERTICAL, width = 50)
  239. liste["yscrollcommand"]=scroll.set
  240. scroll["command"]=liste.yview
  241. scroll.grid( row = 1, column = 5, sticky=N+S+E)
  242.  
  243. #---------------------------------------------- Knopf ----------------------------------------------
  244.  
  245. knopf = Button(text='Choose',height= 2,width = 10,font=('Times New Roman',20),command=choose)
  246. knopf.grid(row = 1,column = 3, sticky=N+E)
  247.  
  248. mix = Button(text='Mix it',height= 2,width=10,font=('Times New Roman',18), command=mixit)
  249. mix.grid(row = 1, column = 3, sticky = S+E)
  250.  
  251. top.mainloop()
Sirius3
User
Beiträge: 6007
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: Eigene Cocktailmaschine

Beitragvon Sirius3 » Montag 29. Mai 2017, 12:48

@Kallinero: es hilft, nicht alles auf einmal zu wollen und mit einem soliden Code anzufangen, der keine Fehler hat, bevor man immer weiter schreibt und die einzelnen Fehler sich zu einem undurchschaubaren durcheinander vermengen. Was auch hilft, Frust zu vermeiden ist, kleine Funktionen zu schreiben, die genau eine Aufgabe haben, z.B. das Initialisieren von allen Pins, das Einlesen von einem Rezept, usw. Dann kann man sich freuen, wenn dies eine Funktion getestet ist und funktioniert. Ansonsten gilt zum aktuellen Quellcode alles, was bisher dazu gesagt wurde: weg mit dem *-Import, Verwenden von Datenstrukturen für GPIO-Pins und für Rezepte; keine Anweisungen auf oberster Ebene, sondern alles in Funktionen packen.
Zizibee
User
Beiträge: 141
Registriert: Donnerstag 12. April 2007, 08:36

Re: Eigene Cocktailmaschine

Beitragvon Zizibee » Dienstag 30. Mai 2017, 08:31

Kallinero hat geschrieben:PS. Ich weiß das ich mir immer mehrere Probleme gleichzeitig schaffe, indem ich ein Problem nicht behandel sondern direkt ein "neues" schaffe, weil ich mit was neuem anfange, aber ich bin sehr schnell von so etwas genervt. Wenn es selbst beim 5 mal korrigieren immer noch Fehler gibt, macht mich das wütend und ich muss mit was neuem anfangen um zumindest ein bisschen ein Erfolgserlebnis zu haben.


Mir hilft es meistens ein Minimalbeispiel zu erstellen, in dem ich mich nur um das aktuelle Problem kümmern kann. Dadurch, dass das Programm dann viel kleiner und übersichtlicher ist, kann ich mich viel besser auf das eigentliche Problem konzentrieren. Wenn das dann gelöst ist und ich die Lösung wirklich verstanden habe, kann ich sie auch normalerweise in mein großes Programm einbauen.
Falls das mit dem Lösen trotzdem nicht klappt, hat man wenigstens ein schönes Beispiel an dem man sein Problem aufzeigen kann :wink:

Zurück zu „Ideen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder