Hilfe gesucht bei nem quelltext

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Dorfl
User
Beiträge: 17
Registriert: Sonntag 23. November 2008, 17:18

Hilfe gesucht bei nem quelltext

Beitragvon Dorfl » Sonntag 23. November 2008, 17:23

Guten Abend , ich hab nächste woche meine erste Informatik Klausur und hab dafür geübt und ne übungsaufgabe gemacht aber scheine einen fehler drinn zu haben , den ich einfach nicht finde....
Bitte um Hilfe


Code: Alles auswählen

class Rechnung :

    def __init__ (self):
        self.e=0
        self.n=0
        self.zahlvar=0

    def set_werte (self,e,n,zahlvar):
        self.e=e
        self.n=n
        self.zahlvar=zahlvar

    def get_n (self):
        return self.n

    def get_e (self):
        return self.e

    def get_zahlvar (self):
        return self.zahlvar

    def verschluesseln (self):
        self.ergebnis = self.get_zahlvar ()** self.get_e () % self.get_n ()
       
    def get_verschluesseln (self):
        return self.ergebnis

 


if __name__ == "__main__":

    test= Rechnung()
   
    n=raw_input("Gib n: ")
    e=raw_input("Gib e: ")
    zahlvar= raw_input ("Gib Zahl: ")
    test.set_werte (e,n,zahlvar)
    print n,e,zahlvar
    print test.get_n(),test.get_e(),test.get_zahlvar()
    test.verschluesseln ()
    test.get_verschluesseln ()
    print test.get_verschluesseln()


sagt mir immer das ich scheinbar mit strings statt mit Zahlen rechne und unten dir beiden prints habe ich drinn um zu gucken ob soweit alles richtig war...
ja ich hab auch alles eingerückt

Edit (BlackJack): Quelltext in Code-Tags gesetzt.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Re: Hilfe gesucht bei nem quelltext

Beitragvon sma » Sonntag 23. November 2008, 17:33

Dorfl hat geschrieben:sagt mir immer das ich scheinbar mit strings statt mit Zahlen rechne

Da hat Python ja auch recht. Warum tust du dies? Du musst deine Eingabe-Strings schon explizit in Zahlen umwandeln.

Stefan
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Sonntag 23. November 2008, 17:36

Du programmierst Java in Python dass kommt nicht gut. Lass die Klasse weg und nimm eine Funktion. Solltest du wirklich eine Klasse brauchen nimm properties und verwende hör auf triviale setter und getter zu verwenden.

Dein Problem wird dadurch verursacht das raw_input einen String zurückgibt, nimm int(raw_input()).
Dorfl
User
Beiträge: 17
Registriert: Sonntag 23. November 2008, 17:18

Beitragvon Dorfl » Sonntag 23. November 2008, 17:37

ah danke , das is peinlich ^^ wa mir da nicht sicher und hatte es von nem script meines info-lehrers kopiert .... kann ich jetzt vorwerfen das er dort auch das int() vergessen hat XD

aber danke für die schnelle hilfe

@DasIch ich hätte es natürlich anders machen können, aber hatte mit absicht klassen verwendet da ich bis gestern das noch nicht verstanden hatte und jetzt zum verinnerlichen, zudem ist das auch nur nen teil des eigentlichen programmes^^
BlackJack

Beitragvon BlackJack » Sonntag 23. November 2008, 18:04

@Dorfl: Was willst Du da verinnerlichen? Die Syntax von Klassen? Bei Klassen selbst gehört nämlich auch dazu, zu wissen wann man sie einsetzt. Und das ist hier ganz bestimmt nicht gegeben. Das ist einfach nur eine Funktion, unnötig kompliziert und unübersichtlich implementiert.

Du verbrätst da fast 30 Zeilen *hierfür*:

Code: Alles auswählen

def verschluesseln(e, n, zahl):
    return zahl**e % n
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Sonntag 23. November 2008, 18:22

@Dorfl Property hättest du trotzdem verwenden können.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder