Python für Anfänger

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.
Antworten
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

hi leute.ich habe ein problem mit einer aufgabe..vielleicht könnte mir jemand einen dabei helfen oder den faden zeigen.

---Erstellen Sie für den bekannten Algorithmus Rest der ganzzahligen Division für zwei positive ganze Zahlen aus den letzten beiden Aufgabenblättern ein Python-Programm.
(Für a und b werden automatisch die Werte aus den Beispielen verwendet. Schreiben Sie also nur das Programm. Benutzen Sie nicht def, return und print(). Um die Richtigkeit zu prüfen, benutzt das System print(a). D.h. der Rest der ganzzahligen Division soll in Variable a gespeichert werden.)

Zum Beispiel:
Eingabe [*] Result

print(a) 16 9 [*] 7

print(a) 5 27 [*] 5


Antwort:(Abzugssystem: 10, 20, ... %)
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Wo hast Du denn bei der Aufgabe konkret ein Problem?
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

ich weiss es nicht ob ich wie bei terminal es schreiben soll...auf gut deutsch gesagt so eine lösung habe ich nicht gesehen,keine ahnung wie es aussehen soll.die befehle funktionieren über ubuntu nicht...bin echt geschmissen
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich versteh Dein Kauderwelsch nicht. Welche Befehle funktionieren wie nicht über ubuntu?
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

bitte sachlich bleiben.ich rede nicht " kauderwelsch" .es ist die ausführung von print command.geben sie bei bei terminal (ubuntu) irgendein befehlform von print().mal gucken was sie als output haben.
meine frage von vornrein ist " wie sie die lösung aus,und damit meine ich WIE ES AUSSIEHT " .ist es eine befehl kette.ich weisst nicht was die frage von mir will..
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die Aufgabe lautet ganzzahlige Division mit Rest. Und der Rest soll in einer Variable a stehen.

Die Lösung ist also ganz einfach: solange a > b ist, subtrahiere b von a. Das war es schon.
Benutzeravatar
__blackjack__
User
Beiträge: 14050
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@soljenitsin: `print()` ist eine Funktion von Python und funktioniert im Terminal von Ubuntu natürlich nur wenn da ein Python-Interpreter drin läuft und nicht wenn dort beispielsweise eine Shell wie die Bash drin läuft. Laut Aufgabe soll ja auch ein Python-Programm geschrieben werden und kein Bash-Programm (oder eines für eine andere Shell). Allerdings soll ja auch gar kein `print()` verwendet werden laut Aufgabe. Was sehr komisch ist, denn wie ich auch schon im anderen Thema schrieb: die Aufgabe spricht zwar von Python-Programm, man soll aber offenbar gar kein eigenständig lauffähiges Python-Programm schreiben, weil die Eingabedaten irgendwie magisch schon an bestimmte Namen gebunden sind, und das Ergebnis auch nur an einen bestimmten Namen gebunden werden soll.

Also auch hier die Frage: In welcher Umgebung soll das denn am Ende ausgeführt werden? Und wenn man keinen Zugriff darauf hat, muss man mindestens beim Entwickeln der Lösung doch die Eingabedaten selbst an Namen binden und das Ergebnis mal zur Kontrolle mit `print()` ausgeben.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

im lösungsfeld gibts nur folgende eingaben

x = input()
y = input()
a = int(x)
b = int(y)
Benutzeravatar
__blackjack__
User
Beiträge: 14050
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@soljenitsin: Was ist denn bitte das ”lösungsfeld”? Und was bedeuten es das es dort diese Eingaben gibt? Sind die dort vorgegeben oder selbst geschrieben?

Der Aufruf von `int()` ergibt immer 0, es ist also sinnvoller da einfach 0 zu schreiben. Das wäre also:

Code: Alles auswählen

x = input()
y = input()
a = 0
b = 0
Die letzten beiden Zeilen könnte man auch zusammenfassen:

Code: Alles auswählen

x = input()
y = input()
a = b = 0
Laut Aufgabe werden `a` und `b` automagisch vorgegeben, die also selbst dann an 0 zu binden ist also nicht richtig, denn dann kommt man ja nicht mehr an die vorgegebenen Werte heran, die da dran gebunden sind/waren.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

also mit lösungsfeld ist befehlzeilen gemeint..und ja die sind dort genau so vorgegeben.und dann kann man es prüfen lassen ob die lösung korrekt ist.wenn ich es so schreibe.
x = input()
y = input()
a = int(x)
b = int(y)
und run mache
kommt

Test >Eingabe ......> Erwartet.> Erhalten
print (a) >16,9 ....... >7..............>16 false
print (a) >5,27..........>5..............>5 true
print (a) >168,34......>32............>168 false
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wo sind die vorgegeben? Im Browser? Was ist das für eine Umgebung? Warum erzählst du das nicht mal, statt uns so um dunklen tappen zu lassen? Und hast du meine Antwort gesehen? Hast du Fragen zum vorgestellten Lösungsansatz?
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

__deets__ hat geschrieben: Sonntag 24. November 2019, 21:10 Wo sind die vorgegeben? Im Browser? Was ist das für eine Umgebung? Warum erzählst du das nicht mal, statt uns so um dunklen tappen zu lassen? Und hast du meine Antwort gesehen? Hast du Fragen zum vorgestellten Lösungsansatz?
ja die sind im browser so vorgegeben.man kann seine lösungen mit "run" checken ob es korrekt ist.
wie oben beschrieben..wenn ich es wie angegeben angebe kommt o.g. ergebnisse.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ist ja auch klar. Du tust ja nichts außer Eingaben einzulesen. Du musst schon den Code schreiben, der den Rest bestimmt. Wie das geht habe ich schon geschrieben. Hast du das mal probiert?
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

__deets__ hat geschrieben: Sonntag 24. November 2019, 21:35 Ist ja auch klar. Du tust ja nichts außer Eingaben einzulesen. Du musst schon den Code schreiben, der den Rest bestimmt. Wie das geht habe ich schon geschrieben. Hast du das mal probiert?
klar.aber es funktioniert nicht weil ich falsch schreibe wahrscheinlich. in x oder y definitionen kommt kein code wie "if" bin der meinung.bin offen für vorschläge
Benutzeravatar
__blackjack__
User
Beiträge: 14050
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Und wir sind offen dafür das Du mal zeigst was Du probiert hast und erklärst was Du Dir dabei gedacht hast.

Am besten programmierst Du das auch erst einmal ganz normal, also nicht über den Browser, damit Du auch mal Zwischenergebnisse ausgeben kannst um Annahmen überprüfen zu können.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich habe geschrieben “während b > a”. Das ist nicht “wenn”. Und auf Englisch ist während “while”. Du musst also eine while-Schleife programmieren. Die Bedingung habe ich dir schon genannt. Und subtrahieren kannst du hoffentlich schon.
Antworten