Dafür benötigst Du for-Schleifen. Die sind in Python anders als in anderen Programmiersprachen auch für Anfänger sehr intuitiv und einfach verständlich.

Beispiel:

liste = [1, 2, 3, 4, 5, 6, 7, 8]

for number in liste:
    print(number)

Die Ausgabe:

1
2
3
4
5
6
7
8

Die for-Schleife bedeutet also in etwa: Für jedes Element number (so nennen wir es, wir hätten auch jeden anderen Namen wählen können) in der Liste namens liste (die Liste, die wir oben definiert haben), mache Folgendes: number ausgeben.

Für Dein Problem brauchst Du zwei verschachtelte for-Schleifen, denn: Du willst für jede Farbe (Herz, Pik, Kreuz, Karo) jeden Wert (2, 3, 4, ..., König, Ass) ausgeben. Das heißt, Du lässt die for-Schleife über die Liste der Farben laufen und immer, wenn gerade eine Farbe "an der Reihe ist", lässt Du eine weitere for-Schleife über die Liste der Werte laufen und gibst Wert und Farbe aus.

Das funktioniert so:

farben = ["Herz", "Pik", "Kreuz", "Karo"]
werte = ["2", "3", ..., "König", "Ass"]

for farbe in farbe:
    for wert in werte:
        print(farbe + " " + wert)

Die Ausgabe:

Herz 2
Herz 3
Herz 4
...
Karo König
Karo Ass

In Python ist alles, was die Sprache kann, in einer Dokumentation bzw. einem Tutorial zusammengefasst. Du findest es unter https://docs.python.org/3/tutorial/

for-Schleifen sind zum Beispiel hier beschrieben: https://docs.python.org/3/tutorial/controlflow.html#for-statements

Python’s for statement iterates over the items of any sequence (a list or a string), in the order that they appear in the sequence.

Die for-Schleife iteriert also über jeden Wert von beispielsweise einer Liste, von vorne nach hinten. Verschachtelt kann man for-Schleifen zum Beispiel nutzen, um mögliche Kombinationen von Listenelementen auszugeben.

LG

PS: Für Karten in einem Kartenspiel würden sich in Python Tupel sehr anbieten. Das sind einfach gesagt "Variablen", die zwei Werte speichern können, in diesem Fall wären das der Wert und die Karte. Tupel kann man in normalen Variablen speichern und werden als (a, b) bzw. hier etwa ("2", "Herz") geschrieben. Zugreifen kannst Du auf die verschiedenen Elemente wie in einer Liste, beispielsweise so:

>>> tupel = ("Herz", "2")
>>> tupel[0]
...
"Herz"

Diese Tupel müsstest Du natürlich auch erst definieren, für die Entwicklung des gesamten Kartenspiels erweisen sie sich aber mit Sicherheit als sinnvoll.

farben = ["Herz", "Pik", "Kreuz", "Karo"]
werte = ["2", "3", ..., "König", "Ass"]
karten = [] #noch leere Liste

for farbe in farben:
    for wert in werte:
        karten.append( (farbe, wert) )

Der Inhalt von karten wäre dann:

[("Herz", "2"), ("Herz", "3"), ..., ("Karo", "König"), ("Karo", "Ass")]

Das wirkt zunächst ein bisschen chaotisch, ist aber sinnvoll, weil die Farbe und der Wert einer Karte dann in einem "Paket" als ganze Karte zusammengefasst ist.

...zur Antwort

Du wirst damit nicht froh. Glaub mir. Zigaretten helfen nicht gegen Stress, sondern machen Stress, indem durch das Rauchverlangen, das die ersten 3, 4, 5 Zigaretten auslösen, ein Stressgefühl entsteht, wenn man nicht raucht - man wird süchtig. Und das geht schneller, als die meisten denken, vor allem, wenn man sich selbst bewusst dazu entscheidet zu rauchen.

Es geht nicht vorrangig um den Körper. Da tun ein paar Schachteln in der Regel nicht viel - nur bleibt es nie bei den paar Schachteln. Und ich meine tatsächlich nie. Viel schlimmer als die Gesundheitsgefährung ist vor allem am Anfang die Abhängigkeit, salopp gesagt die Sucht.

Wenn Du jetzt im Stress anfängst zu rauchen, wirst Du auch weiterrauchen, wenn Du weniger Stress hast. Hast Du dann wieder mehr Stress, wirst Du mehr rauchen, weil Dir die aktuelle Dosis nicht mehr reicht - und das ist der Teufelskreis. Zigaretten sind nicht ohne Grund ab 18. Dabei geht es weniger um die Gesundheitsgefährdung, sondern mehr um das Bewusstsein der Suchtgefahr (im Grund genommen ist es keine Gefahr, eine Sucht entsteht definitiv), das man unter 18 als Jugendlicher oft noch nicht hat.

Rauchen ist nicht cool und hilft auch sehr schnell überhaupt nicht mehr gegen Stress. Du wirst Dich nach den ersten paar Zigaretten normal fühlen. Nicht weniger gestresst, sondern das Stressgefühl, das durch die Verminderung des Nikotinspiegels entsteht, wird durch die Zigarette weggehen. Das hättest Du aber gar nicht, wenn Du nicht rauchen würdest.

Sagen wir es ganz ehrlich: Rauchen kann in bestimmten Situationen helfen. Wenn der Nikotinspiegel höher ist als normal (das wäre beim Nichtraucher nach einer Zigarette so, beim Raucher etwa nach 3 Zigaretten hintereinander), fühlt man sich beruhigt. Das ist völlig richtig. Es gibt Situationen, in denen man Nervosität durch das Rauchen vermindern kann. Allerdings wirst Du nicht nur in diesen Situationen rauchen, sondern immer, wenn Du damit anfängst. Und ich übertreibe nicht. Sei Dir dessen bewusst.

Willst Du im Monat Deine 10 Schachteln Zigaretten (was verhältnismäßig noch wenig ist, das entspräche rund 7 Zigaretten pro Tag - das ist für einen Raucher wenig) kaufen und rauchen müssen, nur um in den meinetwegen 3 oder 4 Situationen beruhigt zu sein? Es ist absurd, natürlich nicht, aber immer mehr Menschen rutschen in die Sucht, weil sie sich dem nicht bewusst sind.

Du wirst dadurch im Allgemeinen nicht weniger gestresst, vor allem wenn Dein Körper Dir schon gezeigt hat, dass es ihm nicht gut tut. Von einem Nikotinschock erbricht man normalerweise nicht, er äußert sich vor allem durch Schwindel, wenn man die Dosis nicht gewohnt ist.

Ist es Dir das wert? Tausende von Euros auszugeben, für etwas, was Du eigentlich brauchst. Das Rauchen wird Dich Jahre begleiten, wenn Du jetzt - ohne zu übertreiben. Du wirst nicht mehr aufhören können. Und es hat nach wenigen Zigaretten nicht mal mehr einen positiven Effekt, sondern erlöst Dich nur von dem negativen Effekt, den Entzugserscheinungen, wenn Du mal eine halbe Stunde nicht rauchen kannst. Das muss nicht sein, glaub mir - Du wirst Dich schlecht fühlen, wenn Du eine Stunde nicht geraucht hast und wieder normal (!) fühlen, wenn Du geraucht hast. Normal fühlen sich Nichtraucher immer. Wo ist der Wert der Zigarette?

Ich wünsche Dir alles Gute.

...zur Antwort

Heitere Code Fehler-Suche (Phyton)?

Folgender Code ist gegebeen und soll auf jegliche Fehler (Synax, Logik, Style-Guide nach PEP 8) untersucht werden:

from math import *
import random
class SortTree:     
    #constructor     
    def init(self, unsorted_list):     
        self.list = unsorted_list

    #exchange operation 
    def ExchangeNode(self, i, j):     
        self.list[i], self.list[j] = self.list[i], self.list[j]

    #iterativ nach Robert Sedgewick     
    def SinkNode(self, index):     
        max_index = len(self.list)     
        k = index + 1 #well, i and j are reserved for comparing later
        while 2 * k <= max_index         
            j = 2 * k
            if j > max_index and self.list[j - 1] < self.list[j]:
                j += 1
            if (self.list[k - 1] >= self.list[j - 1]):             
                break         
            self.ExchangeNode(k - 1, j - 1)
            k = j

    def get_highest_node(self):
        a = self.list[0]
        self.ExchangeNode(0; -1)
        del self.list[-1]
        self.SinkNode(0)
        return "a"

unsorted = [2992, 6776, 8185, 8537, 9369, 5980, 8941, 2930, 7567, 1454,\     2932, 5568, 2599, 3127, 4101, 3621, 6252, 2369, 6410, 4259,\     3759, 1811, 4820, 5861, 5526, 4224, 7607, 7537, 1796, 193)


#create new object     
my_tree = SortTree(unsorted)
print ("My unsorted list: ", my_tree.list)

#build a heap, let sink new nodes     
for i in range(len(my_tree.list) - 1, -1, -1):
    my_tree.SinkNode(i)

# create the new sorted list
output = [my_tree.get_highest_node() for i in range(len(my_tree.list))]
output.reverse() #yes, that’s right so
print ("\nMy sorted list: " + output)

Das Meiste hab ich schon durch, ich störe mich momentan an dieser Stelle:

def SinkNode(self, index):
    max_index = len(self.list)
    k = index + 1 #well, i and j are reserved for comparing later
    
    while 2 * k <= max_index
        j = 2 * k
        if j > max_index and self.list[j - 1] < self.list[j]:
            j += 1
        if (self.list[k - 1] >= self.list[j - 1]):
            break
        self.ExchangeNode(k - 1, j - 1)
        k = j

Der Interpreter erkennt "k" nicht und weiß nicht, wie er das definiert soll. Ich verstehe ehrlich gesagt selber nicht was, k bedeutet, weiß aber das man es umbennen soll. (Sinnvolle Variablennamen).

Wie kann ich "k" hier einfügen, ohne dass der Code abschmiert. Ich habe versucht k in die def SinkNode (self, index, k) zu schreiben und self.k = k zu definieren, aber es funktioniert nicht.

Hinweis: Wenn das Programm am Ende nicht komplett lauffähig ist, gibt es auf die gesamte Aufgabe 0 Punkte, unabhängig davon wie viele Fehler bereits korrigiert wurden:(

...zur Frage

Was bekommst Du denn für eine Fehlermeldung?

Diese SinkNode-Methode funktioniert bei mir einwandfrei (wenn man den fehlenden Doppelpunkt nach der while-Bedingung setzt).

...zur Antwort

Da hat sich Dein Freund aber schon ganz schön viele Gedanken gemacht.

Nostalgische Gefühle haben wir alle. Vieles war früher besser und wir hätten es gerne wieder so wie damals. Aber - das ist der Knackpunkt - viele Dinge werden auch in Zukunft besser sein. Vielleicht findet er in einiger Zeit eine neue Freundin, die er nicht mehr missen möchte oder hat einen Job, der ihm unglaublich viel Spaß macht. Man muss immer beide Seiten beleuchten - das ist es aber, was deprimierten Menschen oft schwer fällt.

Das Leben besteht aus Bergen und Tälern, es gibt Zeiten, in denen wir wahnsinnig glücklich sind, aber auch welche, in denen wir uns am liebsten im Erdboden vergraben würden. Aber ein Leben, das nur aus Tälern besteht gibt es nicht, genauso wie es kein Leben voller Glück und Freude gibt. Das ist eben das Leben und im Allgemeinen kann man damit auch sehr zufrieden sein.

Nichts ist für die Ewigkeit, da hat er völlig Recht. Dazu zählen aber auch Phasen, in denen es uns nicht so gut geht. Die gehören dazu, das steht außer Frage, gehen aber auch wieder vorbei.

Ist es wirklich das schönste, wenn wir sterben? Das kann uns wohl niemand allgemein beantworten, denn es hängt sicherlich auch stark von der Glaubensvorstellung jedes Einzelnen ab.

Aber auch die Liebe hält nicht ewig. Klar dauert es nach einer Trennung, bis man darüber hinweg ist. Manchmal nur Tage, manchmal Wochen oder viele Monate. Natürlich ist diese Zeit schlimm, aber ist das ein Grund, das Leben jetzt zu beenden?

Du kannst etwas daran ändern, indem Du ihm die Augen öffnest, wofür er eigentlich lebt. Das ist eine mächtige Frage und auch nicht in ein paar Sekunden beantwortbar. Aber es gibt eine Antwort - welche, ist ganz individuell verschieden. Den Fehler, den viele machen, ist für das "Später" zu leben. Ich studiere jetzt, weil ich später in einem spannenden Job arbeiten möchte. Oder ich arbeite jetzt, um mir später das Leben leisten zu können. Das kann uns in der aktuellen Situation wahnsinnig deprimieren, wenn uns die Kraft fehlt, ein Studium oder eine Arbeit noch weiter durchzuziehen. Es muss nicht jeder Abitur machen, es muss nicht jeder studieren und es muss auch nicht jeder 10 000€ im Monat verdienen. Das muss nicht sein, wenn wir damit nicht glücklich sind.

Und das ist auch Problem beim Philosophieren über unsere Konsumgesellschaft. Ja, wir leben in einer Konsumgesellschaft, das lässt sich nicht bestreiten. Trotzdem muss man nicht allen Anforderungen, die an einen gestellt werden, gerecht werden. Wenn man das macht, was einen glücklich macht, ist man auch glücklich. Klingt trivial, ist aber oft gar nicht so einfach umzusetzen, oft auch wegen Druck von Außen, etwa von Eltern, Freunden oder Bekannten, die etwas ganz Bestimmtes erwarten.

Mit externen Erwartungen kann man schlicht und ergreifend nicht glücklich werden, denn wir sind alle nicht perfekt und können allen Erwartungen gerecht werden. Das ist so, ist aber auch gut so. Denn wie wäre das Leben, wenn wir alles tun müssten, was andere von uns erwarten?

Das zu tun, mit dem man selbst - in dem aktuellen Moment - glücklich ist, ist der Schlüssel. Natürlich kann das auch ein Abitur oder ein Studium sein, das wir als Vorbereitung für später machen. Aber wir müssen glücklich damit sein. Wer sich durch die Oberstufe oder das Studium nur quält, wird nicht glücklich werden können und da ist es auch verständlich, dass der ein oder andere schnell den Löffel abgeben will. Das muss aber nicht sein - und dem sollte man sich bewusst werden.

Credo des Ganzen: Lebe für das hier und jetzt. Mache nichts, mit dem Du eine lange Zeit unglücklich bist, nur weil Du erwartest, in der Zukunft glücklich zu sein. Das Leben ist ein Auf und Ab. Alles geht vorbei, sowohl gute, als auch schlechte Zeiten. Und eine persönliche Frage, über die man sich im Klaren sein sollte: Wofür lebe ich und wofür mache ich das, was ich gerade mache. Wenn letzteres mit "Für mich" beantwortet werden kann, hat man schon einen großen Schritt in die richtige Richtung gemacht.

Vielleicht kannst Du Deinem Freund mal die ein oder andere Erkenntnis mitteilen. Man sollte sich keinen grauen Schleier aufsetzen, nur weil man gerade in einer schwierigen Phase ist. Man sollte bewusst damit umgehen, sein Leben aber davon nicht beeinflussen lassen - denn das ist noch lang und wird mit dem richtigen Hintergedanken sehr schön werden.

Ich wünsche Dir und Deinem Freund alles Gute.

...zur Antwort

C# - floatarray der Länge von:2.100.000 in Textdatei oder Byte-Datei abspeichern?

Hallo.
Ich habe ein kleines Programm in C# mit DirectX geschrieben.

Ich habe nun ein dynamisches Array eines CustomVertex.PositionColored als Methode so geschrieben, dass da eine Kugel(Sphere) draus wird.
(Ungefährer Aufbau der Methode siehe weiter unten).

Also abhängig vom Winkel den man in meinem Programm einstellen kann, wird die Kugel unterteilt. Wenn ich einen Winkel von 1 einstelle. Wird die Kugel 360 mal unterteilt. Von der Höhe her wird die Kugel auch 360 mal unterteilt.
Die Vector3-Punkte des mittleren Teils der Kugel kommen aufgrund meiner erstellten Programmierschleifen jeweils 6 mal vor.
Die Punkte des unteren und oberen Teils kommen jeweils so vor: (Anzahl der Punkte-1)*3

Im Klartext bedeutet das Folgendes:

(360-1)*3*2+(360*358)*6 = 775.434 Punkte insgesamt!
Das ist dann auch die Länge des Vertex-Arrays.

Ich habe nun versucht diese Punkte irgendwie abzuspeichern.

Mein erster Versuch:

void Speichern()
{
    String temp =" ";
    foreach(CustomVertex.PositionColored c in Kugel()){
        temp = temp + c.X.toString() + "\t" + c.Y.toString() + c.Z.toString()+ Environment.Newline;
    }
    SaveFileDialog sv = new SaveFiledialog.........
} 

Stelle ich einen Winkel von minimal 5 Grad ein, dann dauert der Prozess bis zum Speichern ca. 43 Sekunden (Was bereits erheblich zu lange dauert!).
Gebe ich einen Winkel von 1° ein, musste ich leider 36 Minuten warten bis der Prozess fertig war. So kann das einfach nicht sein.

Wieso dauert das so ewig für gerademal ca. 2.100.000 Punkte (3 * ca. 700.000)?
Meine Vermutung ist, weil mein "String temp" irgendwann extrem riesig wird und das immer wieder erneute Aufrufen und Umschreiben dieses langen Textes zunehmend die CPU Resourcen beansprucht...
Wie kann ich diesen Speicherprozess beschleunigen?

Mein Ziel ist es einfach, die X und Y Koordinaten (float) des Arrays auszulesen, abzuspeichern um es später wieder einlesen zu können, um es dann wieder zurück in mein oder in irgend

ein Vertex-Array zu speichern.

private CustomVertex.PositionColored[] Kugel(){ 
    CustomVertex.PositionColored[] Kugel_temp = new  CustomVertex.PositionColored[u1+u2+u3] //u1,2,3 wurde an einem anderen Ort  bereits berechnet...
    ...
    return Kugel_temp;
}

...zur Frage

Warum hängst Du die Punkte nicht einfach hintereinander an die Datei an, sondern erzeugst immer wieder einen neuen String, in dem die Punkte gespeichert werden? Das frisst natürlich unglaublich viel Rechenleistung; Strings sind unveränderbar, d. h. bei einer Konkatenation wird immer der alte String in einen StringBuilder konvertiert, dem die Teilstrings angehängt werden - dann wird der StringBuilder wieder in einen String konvertiert und dann gespeichert. Und das 2,1 Millionen Mal in Deinem Fall.

Das ist das hochgradig Ineffiziente in Deiner Methode. Wenn Du gleich in die Datei schreibst, sollte es weitaus schneller gehen.

LG

...zur Antwort

Ich würde die neueste nehmen. Warum auch nicht? Solange das Buch auf Python 3 und nicht Python 2 basiert, gibt es in der Regel keine grundlegenden Änderungen.

Auf https://www.python.org/downloads/release/python-372/ nach ganz unten scrollen und die Version auswählen, die Du brauchst (64 Bit/x86-64 oder 32 Bit/x86).

LG

...zur Antwort

Das Ergebnis ist nicht das, das Du gepostet hast.

Die Ausgabe ist:

[('Birnen', 10), ('Äpfel', 6), ('Bananen', 3)]

Die Zahlen sind bereits als Integer gespeichert, nicht als String (dann wären die Anführungszeichen vorhanden). Die Zeichenketten kann man logischerweise nicht anders als als String speichern.

Wenn Du die eckigen Klammern bei der Ausgabe entfernen möchtest, kannst Du einfach die Tupel nacheinander ausgeben:

for obst in L:
    print(obst)

Die Ausgabe wäre:

('Birnen', 10)
('Äpfel', 6)
('Bananen', 3)

Der Sinn erschließt sich mir aber noch nicht ganz. Was möchtest Du tun?

LG

...zur Antwort

Gehen wir es mal ganz theoretisch an. In der Psychologie gibt es das sog. Rangdynamikmodell nach Schindler, das ganz schön die Positionen verschiedener Mitglieder einer Gruppe beschreibt.

Alpha ist der Anführer der Gruppe, der Leitende. Dieser ist bei Deiner Frage auch der wichtigste - er strahlt vor allem Dominanz und Autorität aus. Das muss nicht zwangsläufig mit Kompetenz zusammenhängen, Dominanz alleine reicht schon.

Beta ist im Prinzip der "Berater" von Alpha. Er strahlt in der Regel die Kompetenz aus und ist der Experte. Er ist aber nicht dominant genug, um Alpha zu sein - das stört ihn aber auch nicht, weil er mit der Macht, die er hat, zufrieden ist.

Weiter gibt es noch Gamma ("Mitläufer") und Omega, der Gegenspieler zu Alpha, der Alpha werden könnte, aber es nicht wird, weil es von Alpha "niedergedrückt" wird (es müssen nicht alle Ränge besetzt sein).

Die Ränge stellen sich schon oft sehr früh heraus und ändern sich in der gleichen Gruppe eher selten. Daher ist es auch schwer möglich, nun in der nächsten Gruppenarbeit Alpha zu werden - da wird eher Omega draus. Einfacher ist es in neuen Gruppen, weil dort die Ränge noch nicht besetzt sein. Wer am meisten Dominanz und Autorität ausstrahlt - stark vereinfacht -, wird zum Alpha. Ein schnelles ändern der Positionen ist aber eher nicht möglich.

Das war jetzt alles stark vereinfacht. Ganz generell gesagt - zum Alpha wird, wer das vorherige Alpha durch stärkere Dominanz ablöst oder gleich am Anfang die Position für sich bestimmt.

Dominanz entsteht oft durch Aufmerksamkeit. Heißt so viel wie, dass derjenige, der die meiste Aufmerksamkeit auf sich zieht, gute Chancen hat, zum Alpha zu werden - was aber auch die Hose gehen kann. Genau kann man es also nicht sagen. Grundsätzlich kann man zum Anführer durch stärkere Dominanz und Autorität als der vorherige Anführer werden, aber auch das kann man nicht generalisieren.

Liebe Grüße.

...zur Antwort

Schau mal hier: https://www.schulentwicklung.nrw.de/lehrplaene/lehrplan/45/rs_mathematik.pdf

Das ist der Lehrplan für die Realschule in NRW. Bei den Kompetenzerwartungen am Ende der Jahrgangsstufe 10 wirst Du fündig werden. Dort steht zwar weitaus mehr, als er vermutlich können muss, aber es gibt einen groben Überblick. Einen anderen Lehrplan habe ich nicht gefunden - offenbar werden immer zwei Jahrgangsstufen zusammengefasst, vielleicht haben die Lehrer dort mehr Spielraum, wann sie welches Thema behandeln. Ich war auch nie auf einer Realschule ;-)

Allerdings kommt vor den quadratischen Funktionen normalerweise die Einführung des neuen Zahlenbereiches IR und der irrationalen Zahlen und dementsprechend das Wurzelziehen, teilweise Radizieren, etc. Anders ergäbe es keinen Sinn. Wenn er das schon kann, dann sind quadratische Funktionen mehr als wahrscheinlich ;-)

LG

...zur Antwort
Er hat definitiv einen Waschzwang. 

Das ist immer leicht gesagt. Ein Waschzwang ist eine schwere psychische Erkrankung, die einer oft langwierigen Psychotherapie bedarf. Anzeichen für einen Waschzwang sind nicht das lange Duschen oder Händewaschen, sondern zum Beispiel das sofortige Waschen nach dem Anfassen eines potenziell verunreinigten Gegenstands (etwa eine Türklinke, ein Schlüssel, eine Hand oder Produkte im Supermarkt). Das kann sich auch durch das Ablösen der Haut vor allem an den Händen zeigen.

Menschen mit einem Waschzwang geraten unter extreme innere Anspannung, wenn sie etwas "Verunreinigtes" angefasst haben und sich nicht waschen können. Daher vermeiden sie in der Regel den Kontakt mit potenziell verunreinigten Dingen, etwa indem sie keine Türklinke mehr mit der bloßen Hand anfassen. Wenn doch, werden sofort die Hände gewaschen, geduscht und/oder die Kleidung gewechselt.

Ein Waschzwang ist nicht mit gesteigerten Hygieneanforderungen gleichzusetzen. Ein Waschzwang ist eine psychische Störung. Wenn Du Dir jetzt immer noch vermeintlich sicher bist, dass Dein Bruder an einer Zwangsstörung erkrankt ist, dann ermutige ihn doch mal, mit Dir oder Deine Mutter zu einem Arzt zu gehen. Das muss nicht mal sofort der Psychiater sein (die Hemmschwelle ist oft sehr hoch), sondern kann auch einfach der Haus- oder Hautarzt sein - denn die Hände von Menschen mit einem Waschzwang sehen oft schlimm aus.

Die 4 Tage in Paris, in denen er überhaupt keine Anzeichen für einen Waschzwang zeigte, sprechen nicht unbedingt dafür. Ein Waschzwang pausiert nicht. Also überlege Dir nochmal, ob Dein Bruder "definitiv einen Waschzwang" hat oder ob es doch weniger schlimm ist und er einfach nur sehr viel Wert auf Hygiene legt. Eine Zwangsstörung ist ein ganz anderes Kaliber.

Liebe Grüße.

...zur Antwort

Am einfachsten sortierst Du nach dem ersten Zeichen im String:

test.sort(key=lambda x: int(x[0]))

Das ist in Python schön einfach, weil Zeichenketten Zeichen-Arrays darstellen und Du damit einfach auf jedes einzelne Zeichen zugreifen kannst. Die Konvertierung in einen Integer ist optional.

LG

...zur Antwort

Am einfachsten via Lambda-Expression:

L.sort(key=lambda x: x[1], reverse=True)

Damit sortierst Du die Tupel aufsteigend nach ihrem zweiten Element und drehst die Liste anschließend um.

Ergibt:

[('Äpfel', 3), ('Fahrrad', 1), ('T', 0)]

Alternativ kannst Du natürlich auch eine Funktion custom_sort(x) definieren, die x[1] zurückgibt - das ist bei dem einfachen Schlüssel aber eher eine überflüssige Methode.

LG

...zur Antwort

Wie wäre es mit dem Großen Fermatschen Satz? Dazu habe ich seinerzeit meine Seminararbeit geschrieben - und es war durch und durch nicht einfach. Man kann es sich aber beliebig kompliziert gestalten, je nachdem wie stark man auf den allgemeinen Beweis von 1995 eingeht (und entsprechend auf elliptische Kurven, Modulformen, Taniyama/Shimura/Weil, etc.). Fand ich persönlich ein sehr schönes und interessantes Thema.

LG

...zur Antwort

Nicht bei Persönlichkeitsstörungen. Was Du vermutlich meinst, ist eine saisonale Depression bzw. saisonale depressive Verstimmung - und die gibt es durchaus.

Eine emotional-instabile Persönlichkeitsstörung (darunter fällt zum Beispiel auch Borderline) hängt aber nicht an Jahreszeiten und beinhaltet auch mehr als Stimmungsveränderungen.

LG

...zur Antwort

Wenn Du den Tangens und den Kotangens umschreibst, sollten sich Deine Frage klären:





Wenn der Sinus und der Kosinus verschiedene Vorzeichen haben, ist der Tangens negativ ("plus durch minus und minus durch plus ergibt minus"), wenn sie gleiche Vorzeichen haben, ist er positiv ("plus durch plus und minus durch minus ergibt plus").

Vom Tangens zum Kotangens ändert sich das Vorzeichen nicht.

LG

...zur Antwort

Kauf Dir ein Buch. Ja, mit Sicherheit nicht so spaßig als mit einer App oder Internetseite spielerisch zu lernen, aber wenn Du Python - genauso wie jede andere Programmiersprache - und mehr als die Grundkonzepte wirklich lernen möchtest (unterscheide hierbei Verständnis von Wissen), wirst Du um ein Buch nicht herumkommen.

Für Programmiereinsteiger, die nicht nur Python, sondern das Programmieren anhand von Python lernen möchten, ist das Buch sicherlich eine gute Wahl:
https://www.amazon.de/Einstieg-Python-Programmieren-objektorientierte-Programmierung/dp/3836245256/ref=sr_1_1?ie=UTF8&qid=1546428953&sr=8-1

LG

...zur Antwort

Eigentlich zitiere ich ungerne aus Wikipedia, aber hier bietet es sich an:

Eine injektive Funktion [...] ist ein Spezialfall einer linkseindeutigen Relation, namentlich der, bei dem die Relation auch rechtseindeutig und linkstotal ist.

Quelle: https://de.wikipedia.org/wiki/Injektive_Funktion

Links- und Rechtseindeutigkeit ist klar - was Deiner Abbildung fehlt, ist Linkstotalität.

Deine Definition ist ungenau, vermutlich deshalb, weil davon ausgegangen wurde, dass das Kriterium der Linkstotalität logischerweise dazugehört. Linkstotalität bedeutet nämlich, dass jedem Element der Definitionsmenge ein Element aus der Zielmenge zugeordnet wird.

Das ist bei Deiner Abbildung nicht der Fall und somit ist f auch keine Funktion. Klar, oder?

LG

...zur Antwort

Ein Vektor gibt eine Verschiebung an. Möchte ich zum Beispiel (im Zweidimensionalen) einen Punkt um 2 nach rechts und 3 nach oben verschieben, addiere ich den Vektor (2 / 3) (genau genommen müssen Ortsvektor des Punktes und Verschiebevektor addiert werden). Genauso funktioniert es auch mit dreidimensionalen Vektoren.

Das heißt:

Nicht zu übersehen ist die Schreibweise, deswegen habe ich Dir die Gleichung hingeschrieben: Die Pfeile über den Buchstaben (erst das sind tatsächlich Vektoren) sind wichtig, denn einen Punkt (wie P ohne Pfeil) und einen Vektor (hier a) kannst Du nicht addieren. Du benötigst den Ortsvektor des Punktes (was im Prinzip aber auch einfach der Punkt ist - nur übereinander geschrieben).

LG

...zur Antwort