Zum Inhalt springen

ankon

Mitglieder
  • Gesamte Inhalte

    79
  • Benutzer seit

  • Letzter Besuch

Beiträge von ankon

  1. Hallo,

    ich schreibe ein Python-Programm, wo zwei letzten Elemente der vorgegebenen Liste 'volunteer_datas' ausgegeben werden sollten.
    Es muss auch die Vererbung eingesetzt werden (das ist schon realisiert):

    class Person:
        def __init__(self, name: str):
            self.name = name
    
        def __str__(self):
            return f'{self.name}'
    
    class Volunteer(Person):
        def __init__(self, name: str, place: str, status: str):
            super().__init__(name)                                   # Обеспечивает доступ к оригиналам наследованных методов. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.
            self.place = place
            self.status = status
    
        def __str__(self):
            return f'{self.name}, {self.place}, {self.status}'
    
    volunteer_datas = [
            {"name": "Smith", "place": "Boston", "status": 'Consultant'},
            {"name": "Elvin", "place": "Paris", "status": 'Mentor'},
            {"name": "Schwarz", "place": "Viena", "status": 'Trainer'}]
    
    print('list of guests :')
    for volunteer_data in volunteer_datas:
        for i in volunteer_data:
            if i == 'name' and (volunteer_data['name'] == 'Elvin' or 'Schwarz'):
                obj_vol = Volunteer(volunteer_data['name'], volunteer_data['place'], volunteer_data['status'])
                print(obj_vol.__str__())

    Das Programm gibt momentan aber alle Elementen der Liste, nicht die zwei letzten:

    list of guests :
    Smith, Boston, Consultant
    Elvin, Paris, Mentor
    Schwarz, Viena, Trainer

    Ich wollte zuerst die Ausgabe mittels -if- realisieren (ich weiss, es ginge auch mittel -for- aber das lieber danach).
    Also, bei der Ausgabe wollte ich Angaben der zwei letzten Positionen aus der Liste (mit der 'name', place', Status') bekommen:

    {"name": "Elvin", "place": "Paris", "status": 'Mentor'}, 
    {"name": "Schwarz", "place": "Viena", "status": 'Trainer'}

    Hier bitte ich um Hilfe.

     

  2. Hallo,

    ich löse Aufgabe (Programmiersprache Python):

    Erzeugen Sie eine Klasse beliebiger geometrischer Figure.
    Die Ausgabe der erzeugten Klasse soll die Attribute (als Argumente) der Figur zurückgeben.
    
    Jede Objekt (Figur) muss über Attribute verfügen, die von der ausgewählten Form abhängen. 
    Bei einem Rechteck sind dies beispielsweise die Argumente x, y, width und height.
    
    Außerdem müssen Sie diese Attribute beim Erstellen eines Objekts der Klasse übergeben können.
    
    Erstellen Sie eine Methode, die die Attribute Ihrer Form als Zeichenfolge (str) zurückgibt.
    
    ------------------------
    
    Verwenden Sie str für die Realisierung. Für ein "Rechteck"-Objekt mit den Attributwerten x = 5, y = 10, Breite = 50, Höhe = 100 sollte die Methode beispielsweise die Zeichenfolge Rectangle (5, 10, 50, 100) zurückgeben.

    Ich habe es versucht, die Code zu schreiben, aber meine jetzige Variante gibt  die Zeichenfolge Rectangle (5, 10, 50, 100) nicht zurück.  Was ich jetzt geschrieben habe:

    #  Erzeugen Sie eine Klasse beliebiger geometrischer Figure. Die Ausgabe der erzeugten Klasse soll die Attribute (als Argumente) der Figur zurückgeben.
    #  Jede Objekt (Figur) muss über Attribute verfügen, die von der ausgewählten Form abhängen. Bei einem Rechteck sind dies beispielsweise die Argumente x, y, width und height.
    
    class Rechtangle: 
        def __init__(self, x, y, width, height): 
            self.x = x 
            self.y = y 
            self.width = width 
            self.height = height
    
    # Erzeugen Sie eine Methode, die die Attribute Ihrer Form als Zeichenfolge (str) zurückgibt.
    
        def atributs_as_string(self):
            return str(self.x, self.y, self.width, self.height) 
    
    
    # Außerdem müssen Sie diese Attribute beim Erstellen eines Objekts der Klasse übergeben können.
    
    recht_1 = Rechtangle(5, 10, 50, 100)     # wir erzeugen Objakt recht_1
    
    print(recht_1.atributs_as_string)

    Ich bitte um Hilfe und Korrektur.

     

  3. vor 9 Minuten schrieb Alaric:

    dort wo du den Dateinamen angegeben hast, kannst du entweder den vollständigen Pfad oder den relativen Pfad zur Datei angeben.

    Sprich  C \ ……… \ AppData \ Local \ Programs \ Python \ Python38 \ exersices\my_hope.txt

    (Bitte korrigiere den Pfad aber richtig)
     

    Danke, gemacht, .... und was wäre jetzt falsch?:

    Der Zeiger weisst auf Doppelpunkt hin: 

    les_schr_02.JPG

  4. Hallo,

    ich arbeite das Thema Schreiben und Lesen von Informationen in eine Datei (Python).

    Zuerst mit Hilfe der Methode read().

    # Erstellen Sie eine Textdatei filename1.txt mit Ihrem Lieblingslied (manuell, via ?Explorer?) und
    # versuchen Sie, den Inhalt vollständig und Zeile für Zeile mit den Methoden auszugeben:
    # read()   readline()    readlines()    for
    
    myFile1 = open('my_hope.txt')
    print(myFile1.read())

     

    Ich habe eine Textdatei „my_hope.txt“ erstellt und wollte, damit das Programm Zeilen / Text zurückgibt.

    Was mir nicht ganz klar ist:: wovon kennt Python: wo (Pfad, Ordner) ich die Datei 'my_hope.txt' gespreichert habe?:  um die Texte von dort aus lesen zu können? Hier habe ich es hier gespeichert:         C \ ……… \ AppData \ Local \ Programs \ Python \ Python38 \ exersices

    Muss ich den Pfad in einer Form dem Python-Programm mitteilen? Wenn ja : dann wie?

    Wenn ich den RUN-Befehl ausführe, erhalte ich eine Fehlermeldung.

    les_schr.thumb.JPG.6cbee4d1e01138cd3d7650ceb25f7262.JPGIch frage nach Ihre Hilfe.

     

     

  5. vor 5 Stunden schrieb _n4p_:

    nein, warum überhaupt?

    nein, das geht nicht. age(i) wäre ein funktionsaufruf kein array. man braucht auch kein array. man kann die summe direkt in der schleife nach der eingabe bilden.

    das ist zum einen falsch eingerückt und das musst du auch nicht selbst machen, die for schleife springt am ende selbst zum nächsten element.

    das müsste eigentlich range(Nr_Tickets) sein und es fehlt ein doppelpunkt

    wenn du dort hin kommst, ist das alter nicht unter 18, den ersten teil kannst du also weglassen

    damit legst du dir selbst steine in den weg, du hast jetzt 3 variablen in denen ein preis stehen könnte, die aber andernfalls nicht existieren. Das wird schwieriger als nötig damit eine summe zu bilden.

    wie schon gesagt wurde, schreib mal auf was deiner meinung nach das programm machen muss um die aufgabe zu erfüllen.

    Herzlichen Dank, besonders fürs Wegstreichen von     i += 1     und fürs :  bei der Beingung

    price_common = 0
    Nr_Tickets = int(input("please enter which number of tickets do you need: "))
    
    for i in range (Nr_Tickets):                         
        age_for_ticket = int(input("For which age is a needed Ticket №{i}? : "))
        while True:
            if age_for_ticket < 18:
                print('entry free of cost')
                break
            elif 18 <= age_for_ticket < 25:
                print('your costs are 99 EU per Ticket')
                price_common += 99
                break
            elif 25 < age_for_ticket:
                price_common += 139
                print('your costs are 139 EU per Ticket')
                break
        continue
    
    if Nr_Tickets > 5:
        price_common = price_common - (price_common * (20 / 100))
        print('zu zahlen ist die Summe mit Ermäßigung von 20% für Gruppen mit Personenzahl >5: ', price_common)
    else:
        print('Summe zu Zahlen, in EU: ', price_common)  

    Man kann hier prüfen ob bei der Eingabe von Personenzahl und vom Alter   Datentyp == int ?

    Aber dazu käme ich schon morgen. Ginge das irgendwie einfach ohne   try-except   ?

     

  6. vor 4 Stunden schrieb Visar:

    Eine Sache lässt sich in jedem Fall sagen:

    Es ist mit ziemlicher Sicherheit schlechter Stil, zwischen Sprachen hin- und herzuwechseln.
    Deutsch, Englisch, Englisch, Deutsch.

    Ansonsten kann ich meinen Vorrednern wenig hinzufügen.
    Wirre Syntax, kein richtiger Ansatz erkennbar und zu allem Überfluss Namen, die PEP8 zum Weinen bringen. 

     

    Ja, ich habe einige Kommentare auf Deutsch übersetzt.

  7. vor 12 Stunden schrieb Rienne:

    Genau das! Darum auch die Frage, wie die Ausgangslage beim TO ist und meine allgemeinen Hinweise. Da wurde sich keine konzeptionell Gedanken über einen möglichen Algorithmus gemacht. Da hilft es dann auch nichts, wenn man auf Python-spezifische Syntax eingeht, wenn der grundlegende Ablauf nicht einmal klar ist. :)

    @ankon erläutere doch bitte erst einmal, wie du dir gedacht hast, die Aufgabe zu lösen. Befindest du dich in einer Ausbildung oder einer Umschulung? Ist das eine Schulaufgabe? Willst du dir einfach so das Programmieren beibringen?

    ja, ich wollte gerade mich mit weiteren Ablauf weiter beschäftigen, jetzt ist mir nicht alles klar wie. Ich beginne, dann: Stück für Stück weiter. Fragen "wie" - gehört auch dazu, oder?   Ja, ich stelle mir jetzt nur Fragmente klar, die ich weiter entwickeln und korrigieren muss.

  8. vor 13 Stunden schrieb Whiz-zarD:

    Ich bin jetzt auch kein Python-Experte aber ich wüsste nicht mal, was ich dazu schreiben sollte, da

    1. das Programm nicht mal fertig ist. Das meiste ist auskommentiert
    2. die Zeilen, die durchlaufen werden, voller Syntaxfehler sind

    Ich nehme mal an, dass das Programm nicht mal gestartet wurde. Auf welcher Basis soll man denn nun Tipps geben?

     

     

    Danke. Ja das Programm ist nicht fertig. Ich habe Teil_Eingabe geschrieben und Logik von Preis(vom Alter) und noch einige Stücke die aus das was ich durchgeschaut habe - nutzlich sein könnte. Und Syntaxfahler - klar gibt es: denn ich bin ganz frische Anfänger, welcher sowas noch nicht geschrieben hat.

    Ich koche und erarbeite Gedanken, was ich in Richtung der Lösung mache.

  9. vor 12 Stunden schrieb Rienne:

    Hallo,

    ich hätte ein paar Fragen, damit ich einschätzen kann, was für eine Hilfestellung man dir geben kann. Welche Vorkenntnisse hast du? In welchem Zusammenhang sollst du diese Aufgabe lösen?

    Als kleiner Hinweis: Ich würde mir erst einmal abseits von irgendeiner Programmiersprache überlegen, wie der Ablauf von einer solchen Aufgabenstellung sein soll und darauf aufbauend überlegen, was für Variablen du benötigst und wann welche Kontrollstruktur zum Einsatz kommen sollte. Wenn man das für sich visualisiert hat und entsprechend programmiert, kann man sein Coding anschließend auch debuggen und prüfen, ob an den entsprechenden Stellen auch wirklich das passiert, was man möchte. Und wenn nicht, schaut man sich genauer an, ob man es falsch programmiert hat oder schon in der Planung ein Denkfehler war.

    Ich kenne mich nicht mit Python aus, aber was mir direkt auffällt: Du lässt eine Zahl eingeben (int), behandelst diese aber dann wie eine Liste? Wofür brauchst du die Variablen first und count? Aus Sicht der Verständlichkeit: Du sollst je Ticket das Alter des Besuchers abfragen (der ja nicht automatisch derjenige ist, der die Tickets kauft),  aber hast als Abfrage "Enter your age"?

    Danke für die ausführliche Antwort. Ich bin ganz Anfänger. Ich habe das Thema Datentypen durchgearbeitet. Jetzt arbeite ich das Thema Schleifen und Bedingungen und habe einige Programmbeispiele durchgeschaut. Jetzt bin ich dran, selbst erste Programme zu schreiben: Lerning by Doing

  10. Hallo,

    ich beginne folgende Aufgabe zu lösen, nun benötige ich Ihre Hilfe/korrekturen auf dem Weg zur entgültigen Klarheit.

     

    Man muss ein Programm (auf Python) zu schreiben, welches das gesammte/summare Tickets-Kosten berechnet. Das Programm muss wie folgt arbeiten:

    1. Zuerst soll der Benutzer befragt werden: wie viel (Anzahl) der Tickets will er für die Konferenz kaufen.

    2. Weiter, für jedes Ticket wird es nach Alter des Besuchers befragt. Gemäß dem Alter des Besuchers werden Preiskathegorien gewählt:

    - Falls besucher jünger als 18 Jahre alt ist - dann kommt er zur Konferenz kostenlos

    - Falls Alter des Besuchers vom 18 bis 25 Jahre Alt: - dann der Preis pro Ticket 99 EU

    -Falls Beucher älter als 25 J.A.: - dann beträgt der Preis: 139 EU

    Im Resultat am Ende soll die gesammte Summe (für alle bestellte Tickets) herausgegeben werden. Falls es kommen mehr als 5 Personen zusammen - dann soll die Gruppe 20% Ermäßigung bekommen.

     

    Unten ist mein Anfang, Roh- Variante. Ich sammle Tipps, Korrekturen und Ideen für die weitere Code-Entwicklung:

     

    Nr_Tickets = int(input("please enter which number of tickets do you need: "))
    
    first = Nr_Tickets[0]        # speichern vom ersten Ticket
    count = 0                          # Zähler Setzen
    result = ''                           # resultierende Zeile
    
    for i in range Nr_Tickets                          # Idea: to go all Nr_Tickets through and to ask for age for each Ticket
        age(i) = int(input("please enter your age: "))
            i += 1
    # Then needed to count Tickets in each age-cathegory.
    
    # After it to add Prices in each AgeCathegory and in all Age-Cathegories.  How to realise it?
            
    # if age < 18:
    #    Preis_a18 = 0
    #    print('entry free of cost')
    # elif 18 <= age < 25:
    #    Preis_18a25 = 99
    #    print('your costs are 99 EU per Ticket')
    # else:
    #    Preis_a25 = 139
    #    print('your costs are 139 EU per Ticket')

    00111.txt

  11. komprim.thumb.JPG.568dd6624bca1becbdbfe1289e3902f7.JPGHallo,

    ich mache eine Übung auf Python, aber es sind anscheinend Fehler drin.

    # Schreiben Sie Programm, welches eine eingegebene Reihe von Symbolen komprimiert
    # An Eingang wird folgend aussehende Reihe von Symbolen eingegeben:
    
    # aaabbccccdaa
    
    # Zu ausgeben ist ein String. welches aus Symbolen (von eingegebenen String)
    # und von der Anzahl der Widerholungen dieser Symbolen besteht. wie z.B.:
    
    # a3b2c4d1a2
    # --------------------------------------------------------------
    
    text = input()               # Wir erhalten eingegebenen Zeile/String     <= ?!!! I think hier could be an error!!!
                                          # I expect hier a possibility for input an str., but there isn't any possibility...
                                          # with this kind of input() - it seems to not run !!
    
                                          # text = map(int, input().split())             # second option:   Wir erhalten eingegebenen String 
    
    first = text[0]      # Speichern von ersten Symbol
    count = 0            # Zähler setzen
    result = ''             # und resultierende String
    
    for symb in text:
       if symb == first:          # Falls Symbol == gespeicherten Symbol 
            count += 1             # Zähler wird um 1 größer
       else:
            result += first + str(count)            # sonst - speichern Ergebnis
            first = symb                                    # und erneuern das gespeicherte Symbol mit seinem Zähler   
            count = 1
    
    result += first + str(count) # und ergänzen ins Ergebnis das letzte Symbol
    print(result)

     

    ---------------------------------------------------------------------------------------------------

    Vor allem in folgendem Fragment erwarte ich die Eingabe, aber es ist leider keine Eingabemöglichkeit von einer Reihe aus Zahlen.... und Programm scheint lange zu laufen

    Ich habe das Fragment

    text = input()   # Erhalten String
    
    print(text)

    als separates Programm ausprobiert, aber das Ergebnis ist ähnlich...

    Was ist hier falsch? Bitte um Hilfe.

     

  12. Hallo,

    ich suche ein Code-Beispiel auf C++  von D->A Wandler   für einen abstrakten Mikrokontroller (egal welcher, egal welche Pinbelegung).

    Ich wollte zuerst mit Programm-Logik kennenlernen: am Eingangspin kommen hexadezimale Zahlen und es sollte in eine analoge Spannung umgewandelt werden.

    Meine Frage wäre: kennt Ihr solche Code-Muster? Oder Links im Internet auf solche?

     

  13. Herzlichen Dank.

    Ah so?:  scheint geklappt zu sein....:

    vz65ow3.jpg

    Aber... habe ich die Console/Eingabeaufforderung before anders aufgerufen? - Nein... nur mit Pfade habe ich versucht, dem Buch zu folgen...

    Also, als Rezept ein Script über Eingabeaufforderung/Console auszuführen - kann ich mir merken:

    Pfad auf python.exe (und python.exe am Ende)     Pfad auf zeit_01.py (und zeit_01 am Ende)    

     

    Ehrlich gesagt erwartete ich ursprunglich, dass der Scripr Selbst indiziert sein wird, und vielleicht dann wird der Script ausgeführt. Jetzt klar: CodeText/Script soll nicht in dem Fall indiziert werden.

    Nur noch Frage: Console = Eingabeaufforderung?

     

  14. vor 3 Stunden schrieb charmanta:

    Du machst das auf einem Windows Rechner,  nicht unter Linux. Hast Du denn ein Python für Windows installiert welches auch von der Eingabe lesen kann ?

    Wenn ja dann fehlt Dir der Pfad zum Python

    https://www.pythoncentral.io/execute-python-script-file-shell/

    Danke.

    Ja, ich habe Python für Windows installiert, welches auch von der Eingabe lesen kann - ich denke so.

    Hier ist Pfad wo Python installiert wurde:

    DOdIYgY.jpg

     

    und hier ist weiterer Versuch, die Datei   zeit_01.py zu öffnen:

    irdFuTC.jpg

    Bitte um Hilfe....     was ist bei mir falsch in:     >>> set PATH=C:\Python39\Übungsbeispiele_Programme_Projekte;%PATH%          ?

     

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...