Python Schleife Hilfe

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
Maya
User
Beiträge: 9
Registriert: Sonntag 9. Dezember 2018, 12:08

Hallo liebe Community,
ich bin Studentin und habe gerade ein Einführungsseminar in Python. Ich habe ein Problem bei diesen 2 Aufgaben.
Wenn mir jemand helfen könnte wäre ich euch sehr dankbar :)

1.Lesen sie die Werte aus Tabelle 1 in Python ein. Nutzen sie hierfür eine *passende Datenstruktur* und benennen sie diese möglichst vielsagend. Begründen sie ihre Wahl. Werte aus Tabelle 1: a= [4,23,7,2/3], b= [8,42,7,24/30]
2. Benutzen sie eine Schleife (`while` oder `for`) um eine Ausgabe (`print()` und Liste sind beide als Ausgabe zugelassen) aller Werte von c durch Einsetzen der Werte in Tabelle 1 zu erzeugen.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Was hast Du schon versucht? Wie sieht Dein Code bisher aus? Wo kommst Du konkret nicht weiter?
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Hallo Maya,
schau dir mal hier https://www.python-kurs.eu/python3_kurs.php
die Module von "Datatypen und Variablen" bis "Ausgabe mit print" an, dann hast du alles um deine Aufgaben zu lösen.
Und wenn du an einer Stelle mit deinem Code nicht weiterkommst, helfen wir gerne mit kleinen Gedankenstupsern.
Wenn du Code postest, dann benutze die Tags
[ python] hier der Code [/ python]
aber ohne die Leerzeichen innerhalb der eckigen Klammern,
dann sieht dein Code so schön formatiert aus wie in diesem Beispiel.

Code: Alles auswählen

from math import sqrt
n = input("Maximal Number? ")
n = int(n)+1
for a in range(1,n):
    for b in range(a,n):
        c_square = a**2 + b**2
        c = int(sqrt(c_square))
        if ((c_square - c**2) == 0):
            print(a, b, c)
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Maya
User
Beiträge: 9
Registriert: Sonntag 9. Dezember 2018, 12:08

Hi, Ich habe es mit diesem Code versucht , aber ich weiß nicht wie ich die Werte dort einfügen soll? Ich habe ja nur die Werte a und b gegeben.

und diese sind so dargestellt: a = [4,23,7,2/3];
b = [8,42,7,24/30];

Die schleife soll die Werte von c daraus berechnen. Ich weiß leider nicht wie ich das eingeben soll.
Ich danke schon mal im voraus.

from math import sqrt
n = input("Maximal Number? ")
n = int(n)+1
for a in range(1,n):
for b in range(a,n):
c_square = a**2 + b**2
c = int(sqrt(c_square))
if ((c_square - c**2) == 0):
print(a, b, c)
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte die Code-Tags benutzen. Sonst wird dein Code entstellt. Thomas hat dir ja schon gezeigt, wie das geht.
Maya
User
Beiträge: 9
Registriert: Sonntag 9. Dezember 2018, 12:08

__deets__ hat geschrieben: Sonntag 9. Dezember 2018, 14:29 Bitte die Code-Tags benutzen. Sonst wird dein Code entstellt. Thomas hat dir ja schon gezeigt, wie das geht.
sorry hab ich vergessen.

Ich bin ein bisschen am verzweifeln.
Um es noch etwas anschaulicher zu machen, habe ich die aufgabenstellung und meine bisher erarbeitenden Aufgaben als pic.

Bild

Bild

Bild


Liege ich da soweit richtig?

Und wie errechne ich bei Aufgabe 5 "c" ?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Aufgabe 1: statt extra sqrt einzubinden, bevorzuge ich für Wurzeln x ** 0.5. Funktionen sollten etwas zurückgeben.

Aufgabe 2 verstehe ich nicht, und auch nicht, warum Du das letzte Element mit `append` anhängst, statt wie die anderen 3 direkt beim Erzeugen?

In Aufgabe 3 wird unnötigerweise eine leere Liste erzeugt und bei den 2er-Potenzen fehlt etwas.
In Aufgabe 4 fehlt noch was.
In Aufgabe 5 ist der Rückgabewert falsch, obwohl der Fehler wahrscheinlich in der Aufgabenstellung ist.

Und das nächste mal, Code direkt einfügen statt als Bild.
Antworten