Anzeige

 Quersumme mit Hilfe einer Funktion (Python)


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Soph111

Grünschnabel
#1
Hallöchen,
ich bin neu hier im Forum und freue mich schon mich mit euch auszutauschen.
Im Moment stehe ich vor dem Problem das unser Prof der Meinung ist jede Woche eine neu Programmiersprache anzufangen. Somit versuche ich mich im Moment in Python einzuarbeiten. Doch muss ich auch hier wöchentlich Belege abgeben, wo ich im Moment ein bisschen hänge wie ich anfangen soll.

Die Aufgabe ist:
Schreiben Sie zunächst ein Programm quer.cl, dies soll eine Funktion quer(<string>number) enthalten, welches die Quersumme einer Zahl number berechnet.
Dabei soll der Funktion number als String übergeben und die Quersumme als String zurückgeben werden. Eine Verallgemeinerung sind gewichtete Quersummen, bei denen die Ziffern erst mit den Werten einer periodischen Zahlenfolge multipliziert und diese Ergebnisse anschließend aufsummiert werden. Dabei wird mit der niedrigstwertigen Ziffer begonnen. Implementieren Sie dies ebenfalls in der Funktion (gewichtetQuer(<string>number)).
Diese soll ebenfalls das Ergebnis als String zurückgeben. Hierbei sei die Folge:

1, 3, 2,−1,−3,−2, 1, 3, 2,−1,−3,−2, ...

Dann ist bspw. die gewichtete Quersumme für die Zahl 1234567:

7 · 1+6 · 3+5 · 2+4 · (−1)+3 · (−3)+2 · (−2)+1 · 1 = 7+18+10−4−9−4+1 = 19

Geben Sie ihre Ergebnisse wie folgt aus:
Quersumme von 1234567 ist 28
Gewichtete Quersumme von 1234567 ist 19

Lesen Sie die Zahl number als String von der Kommandozeile.


Ich weiß im Moment noch nicht wie ich die Funktion einbinden soll. Hat da vielleicht jemand eine Ahnung?
 

ComFreek

Mod | @comfreek
Moderator
#2
Ich weiß im Moment noch nicht wie ich die Funktion einbinden soll.
Dein Beitrag hört sich so an, als würde die Funktion noch gar nicht in Codeform existieren. Ich würde erst einmal die Funktion programmieren. Es ist schon ein bisschen komisch, dass die Ausgabe der Funktion wieder ein String sein soll, aber nun gut, dann rechnest du mit normalen Zahlen intern und wandelst wieder in einen String am Ende.
Schreiben Sie zunächst ein Programm quer.cl
Die Dateiendung .cl war mir bis dato unbekannt, aber CL Command Files von Visual Studio werden es wohl nicht sein. Bist du sicher, dass es ein Python-Programm werden soll?
 

Technipion

Erfahrenes Mitglied
#3
Hallo Soph111,
Im Moment stehe ich vor dem Problem das unser Prof der Meinung ist jede Woche eine neu Programmiersprache anzufangen. Somit versuche ich mich im Moment in Python einzuarbeiten. Doch muss ich auch hier wöchentlich Belege abgeben, wo ich im Moment ein bisschen hänge wie ich anfangen soll.
Ohje das klingt ein bisschen eilig. Prinzipiell ist es eine feine Sache in viele verschiedene Programmiersprachen mal "reinzuschnuppern", wobei solide Grundkenntnisse dabei nicht vernachlässigt werden sollten.
Grundsätzlich kann ich dir zu Python sagen: Da bleibt man leicht hängen. Eine einfache effiziente Sprache, die sämtlichen alltäglichen Aufgaben gewachsen ist. Und für alles andere gibt es dann spezielle Module ;)
Trotzdem spricht nichts dagegen auch noch andere Sprachen auszuprobieren. Letzlich ist es Geschmackssache.
Die Dateiendung .cl war mir bis dato unbekannt, aber CL Command Files von Visual Studio werden es wohl nicht sein. Bist du sicher, dass es ein Python-Programm werden soll?
Das hatte ich mich auch schon gefragt. ((Klingt (für mich)) (nach (Lisp))). Allerdings hat Soph111 mehrfach explizit nach Python gefragt. Von daher gehe ich mal von Python (.py) aus.
Ich weiß im Moment noch nicht wie ich die Funktion einbinden soll. Hat da vielleicht jemand eine Ahnung?
Hast du denn schon irgendwelchen Code? Es ist immer viel einfacher für uns über existierenden Code zu reden und ihn zu erweitern, als gänzlich neuen Code zu posten. Schließlich möchten wir hier auch eine gewisse Eigenleistung von dir sehen :giggle:

Gruß Technipion
 

Soph111

Grünschnabel
#4
Danke für eure Antworten!
Ich habe es zum Glück jetzt hinbekommen.
Irgendwie ist die ganze Aufgabenstellung ein bisschen verworren, da auch das Beispiel nicht mit der Aufgabenstellung funktioniert.
Wir hatten vor dieser Aufgabe Lisp und Prolog, ich denke mal das da irgendwie ein Fehler gemacht wurde. Aber ich hab es jetzt mit viel lesen und zusammenbasteln zusammen :)
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Anzeige
Anzeige