Wir erstellen ein Addon (simples Tutorial von Anfang bis Ende)

  • str() in Python interne Funktion mit der beliebige Variablen in Strings verwandelt werden (cast).

    habe ich gerade heraus gefunden mt den Strings, Danke @Bulvai

    Gruß Andy

    Meine Systeme
    Win7 PC mit Kodi 15.2 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (Wohnzimer)
    Fire TV Stick mit Kodi 15.2 Isengard (Schlafzimmer)
    Ipad 3 IOS 9.0.2 mit Kodi 15.2 Isengard

  • so ich habe mir jetzt mal alles angeschaut, ist schon echt schwer. Ich habe mich ja noch nie damit beschäftigt.
    Ich werde wieter am Bal bleiben... ohe Fleiss kein Preis auch wen es schwer ist.
    Bald ist Weihnachten, da habe ich auch viel mehr Zeit, mir genauer anzuschauen.

    Im Moment sehr viel um die Ohren, da bin ich mal froh das ich keinen Computer mehr sehen muss ;)

    Gruß Andy

    Meine Systeme
    Win7 PC mit Kodi 15.2 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (PC Zimmer)
    Apple TV1 Betriebssystem OpenELEC, Kodi 15.1 Isengard (Wohnzimer)
    Fire TV Stick mit Kodi 15.2 Isengard (Schlafzimmer)
    Ipad 3 IOS 9.0.2 mit Kodi 15.2 Isengard

  • In name wird bei jedem Durchlauf ein Datensatz von der Liste Daten gespeichert.
    Mit name.upper() wird dieser in Großbuchstaben verwandelt.
    In diesen wird mit name.upper().find() nach bestimmten Zeichen gesucht und der Index des zuerst vorkommenden Zeichens zurückgegeben.
    Da der Datensatz mit upper() in Großbuchstaben verwandelt wurden muß dies, um was zu finden, auch mit dem zu suchenden String passieren.
    str.upper(search) ist ein Cast bei dem die Varible in einen String und direkt in Großbuchstaben verwandelt wird.

    Sieht zwar nicht gut aus mit der 'else' würde aber funktionieren:

    gn =wandel namen in Großbuchstaben
    gs =wandel search in Großbuchstaben

    Wir 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.

    Wieso bekommen wir das über print nicht alles in Großbuchstaben und wie können wir Buchstaben mit Zahlen vergleichen >=0

  • und wie können wir Buchstaben mit Zahlen vergleichen >=0

    Du hast ein Verständnisproblem. Die Methode .find() sucht nach dem ersten Auftreten (der Position/dem Index) innerhalb einer Zeichenkette. Ist die kleiner als '0' (also -1), wurde nichts gefunden, ansonsten ist das die Position des gesuchten Buchstabens (0 -> 1. Stelle, 1 -> 2. Stelle usw.). Es wird also auf das Vorkommen an x-ter Stelle getestet, nicht auf den Buchstaben selbst.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Wieso bekommen wir das über print nicht alles in Großbuchstaben

    Warum nicht? Du musst es Python nur sagen...

    Code
    a = 'hallo welt'
    print a
    print a.upper()

    >>> hallo welt
    >>> HALLO WELT

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Warum nicht? Du musst es Python nur sagen...

    das upper haben wir doch! wir füttern def suchen mit daten= das alles in Großbuchstaben.

    Du hast ein Verständnisproblem. Die Methode .find() sucht nach dem ersten Auftreten (der Position/dem Index) innerhalb einer Zeichenkette. Ist die kleiner als '0' (also -1), wurde nichts gefunden, ansonsten ist das die Position des gesuchten Buchstabens (0 -> 1. Stelle, 1 -> 2. Stelle usw.). Es wird also auf das Vorkommen an x-ter Stelle getestet, nicht auf den Buchstaben selbst.

    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.

    Einmal editiert, zuletzt von Dima (21. November 2015 um 21:07)

  • So müsste aber der print den gefundenen Index wiedergeben. Wir bekommen aber den Inhalt.

    Warum soll print den Index ausgeben? Wenn er einen Index >=0 (also den Suchbuchstaben gefunden) hat, gibt er den Namen aus: print name

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Nabend,
    bin jetzt auch endlich dazu gekommen alles durchzuarbeiten und hab gleich eine Frage zu Aufgabe 2.
    Hab folgenden Code geschrieben


    Spoiler anzeigen

    Die Idee war, dass eine gegebene Liste mit einem definierten Suchstring durchsucht wird.
    Es soll abbgefragt werden, ob die Suchfunktion erfolgreich war - dann das Ergebnis ausgeben. Falls nicht, die ergebnislose Suche bestätigen.
    Folgendes Problem dabei. Definiere ich die Variable ssearch z.B. als 'mit', wird diese einwandfrei ausgegeben.
    Ist die Suche ergebnislos, wie im angehängten Code- Beispiel, gibt er mir jedoch nicht den erwarteten print aus, sondern 'none'. Wo ist meine Gedankenlücke ?

    lg fuenfzigccm

  • Dein Script sucht aber auch nicht alles wen du i suchst sucht es nur das erste was ein i hat. Das return macht da die Probleme!
    Das none kommt weil die Funktion durchläuft und er den print behelfe nicht bekommt.
    So verschwindet none: Ist aber immer noch keine Lösung!

    2 Mal editiert, zuletzt von Dima (22. November 2015 um 00:25)

  • Habe jetzt meins noch mal überarbeitet habe aber immer noch ein Fehler wieso?

    Spoiler anzeigen
  • Zitat von Dima


    Hab das jetzt mal nur schnell überflogen, weil ich möchte eigentlich gerade in die Pove. 8)
    Aber so müßte es gehen:

    Hab das noch mal überarbeitet. War doch nicht funktionsfähig

  • Hab das jetzt mal nur schnell überflogen, weil ich möchte eigentlich gerade in die Pove. 8)
    Aber so müßte es gehen:

    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:


    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:

    1. if bedingung1: Wenn Bedingung erfüllt
    2. 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:



    und so würde es z.B funktionieren:


  • @skatulskijean
    Ja das da habe ich voll das Verständnisproblem vielleicht kommt das dann wen wir weitermachen ihr habt mir das schon so gut wie nur möglich versucht zu erklären ganz gut war da die andre Sintex von dir.
    Und 372 wieso ich wen ich Hans suche das Hans nicht gefunden? immer noch bekomme

  • @Dima

    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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!