Beiträge von skatulskijean
-
-
@Dima
und so funktioniert es komplett!Python
Alles anzeigensearch=raw_input('Wonach suchen sie? ') Liste=['Hans','Hannelore','Hanes','Hanf'] def Suche(search,Liste): result=[] for name in Liste: if ((name.upper()).find(str.upper(search))>=0): result.append(name) else: pass return result def weiter(): gesucht=Suche(search,Liste) if len(gesucht) == 0: print search + ' nicht gefunden' else: for name in gesucht: print name weiter()
-
Das würde Eingeschränkt funktionieren.
Eingeschränkt meine ich da nur das erste Ergebnis mit return übergeben würde.Python
Alles anzeigenearch=raw_input('Wonach suchen sie? ') daten=['Hans','Hannelore','Hanes','Hanf'] def suchen(search,daten): for name in daten: if ((name.upper()).find(str.upper(search))>=0): return name else : pass if suchen(search,daten) == None: print 'nicht gefunden' else: print suchen(search,daten)
-
-
Bei mir ist alles klar und ich bin soweit.Ich hab schon verstanden, worum es bei der eigentlichen Idee der Suche ging.
Meine war eher wie "Auf Gut Glück" bei Google zu verstehen. Das erste was passt, wird genommen.
Problematisch, war nur meine if- Abfrage, aber die wurde ja von Bulvai geklärt.lg fuenfzigccm
Was funktioniert bei result in einer Funktion, was bei einer anderen List nicht funktioniert?
Gruß Jan
-
-
Du bekommst Hans nicht gefunden!
Da Hans ja nur im erstem Element der Liste vorkommt!
Ist das Element gerade im Schleifen Durchlauf:
Bekommst Du Hans!!
Das nächste Element wäre 'Hannelore' und Hans ist nicht Hannelore und hans oder Hans ist auch kein Teil-String von Hannelore so ist die Ausgabe.Hans nicht gefunden
Gruß Jan
-
Ja das mit dem Verständnisproblem ist mir schon bewusst!
Dann füttern wir def suchen mit dem Index von daten= oder wie?
So müsste aber der print den gefundenen Index wiedergeben. Wir bekommen aber den Inhalt.368:
wir hatten die Syntax einer if -elif-else durchgenommen:
- if bedingung1: Wenn Bedingung erfüllt
- anweisungen1 Anweisung für erfüllte Bedingung
in dem Fall haben wir eine For Schleife .Bei jeden Durchlauf wird eine name in der Liste mit der if Bedingung verknüpft.Wenn die Bedingung erfüllt ist wird die Anweisung zur if Bedingung ausgeführt.Die Anweisung für diese Bedingung war print name und so wird der name ausgegeben.
Ist es das was Du nochmals wissen wolltest?
372
Das müßte Dir die Funktionsweise nochmals verdeutlichen:
Python
Alles anzeigensearch='nn' daten=['Hans','Hannelore','Hanes','Hanf'] def suchen(search,daten): for name in daten: if ((name.upper()).find(str.upper(search))>=0): print name elif not search == name: print search + ' nicht gefunden' else: pass suchen(search,daten)
und so würde es z.B funktionieren:Python
Alles anzeigensearch='b' daten=['Hans','Hannelore','Hanes','Hanf'] def suchen(search,daten): result=[] for name in daten: if ((name.upper()).find(str.upper(search))>=0): result.append(name) elif not search == name: result= search + ' nicht gefunden' else: pass return result print suchen(search,daten)
-
-
-
Hab das jetzt mal nur schnell überflogen, weil ich möchte eigentlich gerade in die Pove.
Aber so müßte es gehen:Python
Alles anzeigengsearch = ['Liste','mit','gegebenen','Daten'] ssearch = 'x' def search(gsearch,ssearch): for name in gsearch: if (name.upper()).find(str.upper(ssearch))!=-1: return name return -1 erg = search(gsearch,ssearch) if (erg != -1): print erg else: print 'Suche ergebnislos'
Hab das noch mal überarbeitet. War doch nicht funktionsfähig
Leider auch nicht richtig da es wie alle anderen Lösungen nicht mehr funktioniert wie es eigentlich gedacht ist.
Der Sinn der Suche ist doch auch zu funktionieren wenn die gleichen Teils-Strings in den einzelnen List Elementen vorhanden sind.Also als Beispiel:
Liste=['Hans','Hannelore','Hanes','Hanf']
suche='h' oder'H'
findet alle Namen da alle mit H anfangen.suche='ha' oder 'Ha' findet alle Namen.
da alle den Teils-String 'ha' halten.dagegen würde suche='hann' oder 'Hann' nur Hannelore finden.
Da Hannelore als einzig den Teil-String Hann enthält usw.suche='s'
würde Hans und Hanes finden usw.Der Vorteil dieser Suche ist :
Das ich Groß oder Kleinschreibung nicht beachten muß.
Das ich auch nur ein Teil des gesuchten Namens eingeben muß und trotzdem das Ergebnis in einer Auswahl habe.
Dabei spielt es keine Rolle ob der Teil-String am Anfang des Namens in der Mitte des Namens oder sich am Ende des Namens befindet.
Im Endeffekt das ich ohne viel zu schreiben das finde was ich suche!man könnte es z.Beispiel so machen:
Python
Alles anzeigensearch='' Liste=['Hans','Hannelore','Hanes','Hanf'] def Suche(search,Liste): result=[] for name in Liste: if ((name.upper()).find(str.upper(search))>=0): result.append(name) else: pass return result def weiter(): gesucht=Suche(search,Liste) if len(gesucht) == 0: print search + ' nicht gefunden' else: for name in gesucht: print name weiter()
Gruß Jan
-
-
Ich bin Jahrgang 1965.
Habe niemals englisch in der Schule oder sonstwo gehabt.
Aber durch die Beschäftigung mit der Programmierung mußte ich zwangsläufig lernen zu verstehen.
Natürlich ist das Anfangs nicht leicht aber wo ein Wille ist ,ist auch ein Weg.
Mittlerweile verstehe ich gelesenes Englisch sehr gut.
Verständlich in English schreiben ist da schon eine andere Sache.Wolle eigentlich noch eine abfrage rein machen habe aber Probleme da es unterschiedliche Typen sind. search=raw_input('Wonach suchen sie? ')
raw_input übergibt im Gegensatz zu input immer einen string!
willst Du trotzdem raw_input verwenden um eine integer als Beispiel weiter zu verarbeiten mußt du den typ ändern!
als Beispiel:Pythonsearch=raw_input('Wonach suchen sie? ') #ist der übergebene Wert von typ string search=int(raw_input('Wonach suchen sie? ')) ##ist der übergebene Wert von typ int
Sieht zwar nicht gut aus mit der 'else' würde aber funktionieren:
gn =wandel namen in Großbuchstaben
gs =wandel search in GroßbuchstabenWir wandeln um damit es bei der Eingabe egal ist ob groß oder klein geschrieben und wenn diese Kombination von Buchstaben vorhanden ist auch immer etwas mittels find gefunden wird.
Einfach ausgedrückt stellt find fest ob ein String oder ein Teil-String in einem anderen Vorhanden ist.
Code
Alles anzeigensearch=raw_input('Wonach suchen sie? ') daten=['Hans','Hannelore','Hanes','Hanf'] def suchen(search,daten): for name in daten: gn=name.upper() gs=search.upper() if gn.find(gs)>=0: print name else: print search +' nicht gefunden' suchen(search,daten)
Gruß Jan -
wieso das f= und f.Das begreife ich einfach nicht da ich auch ohne eine Datei erstelle
Pythonsearch='gg' def suchen(search): for name in ['Hans','Hannelore','Hanes','Hanf']: if ((name.upper()).find(str.upper(search))>=0): print name else: print search + ' nicht gefunden' suchen(search)
Was ist hier falsch das ich weder eine Fehler Meldung noch ein Ergebnis bekomme?
Im Augenblick fehlt mir es schwer das gelernte zu kombinieren und ich muss immer wider schauen wie die Syntax richtig zuschreiben ist.
Das gelernte zu lesen und zu verstehen geht bisher. Ich werde aber nicht aufgeben!!!Zu der ersten Frage:
mit f erstellst du eine Variable die open('beispiel.txt'','w') = (öffnet ,erstellt zum schreiben) hält.
Eine Datei sollte aber immer auch geschlossen werden also f.close().
Das schließt f das ja open('beispiel.txt','w') ist.Zur 2 Frage :
Mit def hast Du eine Funktion eingeleitet.
Um sie zu benutzen mußt Du die Funktion ansprechen.
Das tust Du in diesem Fall mit suchen(search) (Funktions-Name(Wert ))
und dann bekommst Du auch Dein Ergebnis!!
Habe Deinen Python Quelltext schon bearbeitet!Es ist doch klar das es Dir im Augenblick noch schwer fällt.
Wenn Du am Ball bleibst gibt es sich mit der Zeit.Gruß Jan
Besser zur späteren Verwendung wäre , wenn sich die Liste mit den Namen außerhalb der Funktion befinden würde.
Denn dann könntest Du die Funktion universell für die Text-Suche in einer Liste einsetzen. -
Ich nutze BlackBerry OS 10.
Finde es einfach intuitiver als Android.
Die Nachrichtenzentrale Der Hub ist Genial und wenn man sich an die Wisch-Gesten gewöhnt hat .
Will man sie nicht mehr missen.
Hat auch eine Android Runtime an Board so das man die eine oder andere Android App (läuft im Sandkasten) nutzen kann.
Da ich nicht Spiele ist es das optimale System für mich.
Trotz für heutige Zeit geringer
Hardwareausstattung ( Z 10) läuft alles flink und ohne zu murren.
Die Apps die ich meist benutze sind schon bei Erstinstallation ( beim OS) dabei.
Nichts wirkt aufgesetzt und so läuft alles in einem Rutsch.Früher habe ich WebOS auf dem HP pre 3 und HP Touchpad benutzt .
Geniales Betriebssystem leider wurde es aufgegeben (was lwie so oft nichts mit der Qualität zu tun hatte)
Inzwischen sind ein paar fleißige Leute dabei auf der Grundlage von open WebOS ein mobiles Betriebssystem zu bauen 'LuneOS'.Was ich gerne mal benutzt hätte , aber irgendwie verpasst habe war Meego 1.2 auf dem Nokia n9.
Sieht man da Videos , einfach nur toll , so stelle ich mir ein mobiles OS vor.
Aber Nokia mußte sich ja an Windows wegwerfen und so war diese geniale OS mit dem Nokia N 9 gestorben.Aber Sailfish OS von Jolla ist der Nachfolger und ich hoffe das Sie mit ihren OS einen Markt finden und es ständig verbessern.
Warte auf das Handy einer indischen Company was Sailfish OS an Bord hat und werde es mir dann leisten ,freue mich schon wie ein Kind darauf.
-
@Dima ich glaube hier sind auch einige Fortgeschrittene bei die mitmachen. Klar fällt es denen leichter aber WIR schaffen das auch
evtl hilft dir auch diese Seite um einiges klarer zu verstehen, hoffe ich trete jetzt Jan nicht auf die FüßeSpoiler anzeigen
Wenn ich den Link entfernen soll bitte bescheid sagen
Nein, das ist doch gut wenn man sich informiert.
Aber noch wichtiger finde ich das Anwenden des durchgesprochenen
I'm Prinzip sich zu überlegen was man gerne haben würde und dann es versuchen umzusetzen.
Natürlich ist das momentan nicht so einfach.
Weil einfach viele Sachen die man so braucht noch nicht angesprochen wurden.
Aber das kommt Stück für Stück.
Mit jeden Teil wird man etwas mehr umsetzen können.Speziell für das Addon -development.
Halte ich es für wichtig sich auch mal den Code von Addons anzusehen und zu versuchen den reinen Python Code zu lesen und zu verstehen.
Teilweise müsste es mit dem erlernten schon gut funktionieren.
Gruß Jan -
Ich stehe irgend wie auf dem Schlauch die Woche komme kaum voran.
Habe mich gestern und heute mit dem aktuellen Thema beschäftigt und auch die alten Themen immer wider her genommen.
Hoffe ich bleib nicht auf der Strecke!Glaube nicht das Du auf der Strecke bleibst.
Wichtig steht das Du dranbleiben willst.
Wenn Du noch ein Thema zurück sein solltest und Fragen stellst.
Bitte den Teil angeben auf den sich deine Frage oder Fragen beziehen.Gruß Jan
-
Bis jetzt habe ich nur Dom und elementree selbst benutzt.
Aber selbst bei dieser kleinen Beispiel.XML aus tutorialpoint würde ich wohl nur mit regex arbeiten.
Da es nach meiner Meinung simpler wäre.
Paredom ist auch ganz nett ist aber kein reiner XML Parser.
Das man selbst etwas an einer XML ändern will kommt finde ich selten vor.
In deiner Color.XML würde ich das über regex und replace machen.
Aber welchen Parser man für seine Zwecke nimmt muss jeder selbst entscheiden.Gruß Jan
-
-
ok, danke.
warum ich nach anderen xml methoden suche?:
möchte noch komplexere xml auslesen/ändern/speichern.
sehe das ganze hier als einfachen einstieg.
und die zeiten von speicherknappheit sind eigentlich auch vorbei.
und gelernt habe ich auf jeden fall schon einiges.Das ist doch völlig ok!
bei größeren xml Daten bzw. eher bei einer größeren Menge von zu erfassenden Informationen aus der xml wären vielleicht reine xml Parser angebracht.Auch wenn viel Speicher vorhanden ist heißt es doch nicht das man damit ohne Nachdenken umgehen sollte.
Andere haben auch kleinere Systeme und da läuft die Sache dann nicht mehr so gut.
Und Wenn ich viel Laden muß wird ein Addon oder Script langsam.
Bei Bilder kommt noch hinzu das um so größer sie sind um so mehr wird auch auf der Festplatte unter Kodi verbraucht usw.