Python – die besten Beiträge

Welches buch zu java?

Frage welches buch:

Java auch eine Insel als lernbuch brauchbar ? es soll wohl auch ein praxisbuch zusätzlich geben mit übungen.

Java Core fundamentals besser als das deutsche Pendant und gut lesbar als englische Ausgabe als recht neuling ?

Die Deutsche jav Ausgabe java auch eine insel:

https://www.amazon.de/dp/3836287455/?coliid=I255IK6DTY6WAQ&colid=12WD76V0KALBK&psc=1&ref_=list_c_wl_ys_dp_it

Oder renomiertes: core java Volume 1 fundamentals:

https://www.amazon.de/dp/B09GXR6SPF/?coliid=I3WOQ1XPAX8D6&colid=12WD76V0KALBK&psc=0&ref_=list_c_wl_lv_ov_lig_dp_it

Ich kann python habe aber nicht so viel reine praxis aber kenne dessen Konzepte und übte diese auch mit aufgaben sodass diese sicher sitzen.

Ich hatte python damals als Einstieg in Programmierung ein deutsches Buch genommen weil ich trotz sehr guter Englisch Kenntnisse einen schlechten Einstieg mit englischen Quellen hatte.

Jetzt die Frage ich weiß bei obigen Büchern Wird vom Autor jeweils empfohlen wenn auch nicht zwingend Programmiererfahrung in einer anderen Sprache zu haben - ja das traue ich mir zu zu sagen die ist da.

Jetzt aber der Punkt dir deutsche Ausgabe, ein Klassiker ja , hat reviews dass diese eher als Nachschlagewerk taugt da zu Kleinteilig und genau. (Was ja gut ist einerseits)

Das englische wiederum wirkt auf mich wesentlich mehr comprehensional somit besser als lernbuch.

Ich weiß aber nicht ob mein Englisch etwa C1 und meine python Kenntnisse reichen um diesmal mit einem englischen Buch zurecht zu kommen - zudem glaub ich serwohl das Buch ist besser aber vlt irr ich mich, auf deutsch hätte ich dieses bereits gewählt.

Ich weiß gleichzeitig nicht ob das deutsche java Buch was taugt als Selbstlerner.

Ps: mir reicht es mit dem buch so weit es möglich ist allein zu arbeiten. Ich will ausdrücklich mich fürs Informatik Studium damit vorbereiten da nubmal java dort drankommt.

Wenn ich tatsächlich praxis lern gut wenn nur Theorie auch gut - ich will wirklich java einfach ausprobieren statt bisher nur python zu kennen.

Und jap. Youtube und Kurse sind auch da aber ich kann am besten mit einem Buch arbeiten - wie gesagt praxis sowieso mit Übungsaufgaben.

Frage kurzum nochmal:

Java auch eine Insel als lernbuch brauchbar ? es soll wohl auch ein praxisbuch zusätzlich geben mit übungen.

Java Core fundamentals besser als das deutsche Pendant und gut lesbar als englische Ausgabe als recht neuling ?

Studium, Mathematik, programmieren, Python, Universität, Selbstlernen

Python und Physik: Harmonischer Oszillator graphisch bis n= 4?

Ich würde gerne die Vorlesungen nacharbeiten von der Uni. Wir hatten das Thema Harmonischer Oszillator und ich würde gerne so ein Plot erstellen, was ungefähr so aussieht

Allerdings bis n=4. Also einmal die stationären (psi_n(x)) und einmal die Aufenthaltswahrscheinlichkeit |psi_n(x)|^2

Wobei die Parabel das Potential darstellen soll.

Das problem ist, dass ich das irgendwie nicht richtig gesplottet kriege. Meine Graphen sehen immer wieder komisch aus und weiß einfach nicht warum. Kann jemand mir helfen das zu Plotten?

Also bis jetzt sieht mein Code so aus:

import numpy as np

import matplotlib.pyplot as plt

from scipy.special import hermite

# Konstanten

e = 1.602176634e-19 # Elementarladung [C]

m = 9.10938356e-31 # Masse des Elektrons

hq = 1.0545718e-34 # Wirkungsquantum

# Parameter

x0 = 1e-10 # Klassischer Umkehrpunkt in m

V0 = 7 * e # Potential bei einer Auslenkung um x0

NN = 4 # Anzahl von Wellenfunktionen

N = np.arange(NN)

c = V0 / x0**2 # Kraftkonstante Oszillators

omega = np.sqrt(c / m) # Frequenz des Oszillators

# Maximales benötigtes x

xmax = np.sqrt(2 * hq / (m * omega) * (NN + 1/2))

x = np.linspace(-xmax, xmax, 200)

y = np.sqrt(m * omega / hq) * x

# Potential

V = 0.5 * c * x**2

plt.figure(figsize=(7, 10))

plt.plot(x * 1e10, V / e, linewidth=1.5)

plt.xlabel('x [Angstrom]', fontsize=20)

plt.ylabel('V [eV]', fontsize=20)

plt.grid(True)

# Energieeigenwerte

E = np.zeros((NN, len(x)))

for n in N:

E[n, :] = (n + 0.5) * hq * omega / e

plt.plot(x * 1e10, E[N, :].T, 'g', linewidth=1.5)

plt.ylim(0, E[-1, 0] * 1.2)

#geraden Potenzreihen

a = np.zeros((len(N) + 2, len(N) + 1))

for n in range(0, len(N), 2):

a[0, n] = 1

for j in range(0, len(N), 2):

a[j + 2, n] = 1

# ungerade Potenzreihen

for n in range(1, len(N), 2):

a[1, n] = 1

for j in range(1, len(N), 2):

a[j + 2, n] = 1

# Wellenfunktionen psi(n,y)

psi = np.zeros((len(N) + 1, len(x)))

for n in range(len(N)):

psi[n, :] = 0

for j in range(len(N)):

psi[n, :] += a[j, n] * hermite(j)(y)

psi[n, :] *= np.exp(-y**2 / 2)

# Normierung der Wellenfunktionen

dx = x[1]-x[0]

psi[n, :] /= np.sqrt(dx * np.sum(psi[n, :]**2))

# Skalierung der Wellenfunktionen

dE = E[1, 0] - E[0, 0]

psi_max = np.max(psi)

fact = dE / psi_max / 2

plt.plot(x * 1e10, fact * psi[N, :].T + E[N, :].T, 'r', linewidth=2)

# Aufenthaltswahrscheinlichkeit

plt.figure(figsize=(7, 10))

plt.plot(x * 1e10, V / e, linewidth=1.5)

plt.xlabel('x [Angstrom]', fontsize=20)

plt.ylabel('V [eV]', fontsize=20)

plt.grid(True)

plt.ylim(0, E[-1, 0] * 1.2)

plt.plot(x * 1e10, E[N, :].T, 'g', linewidth=1.5)

# Skalierung der Aufenthaltswahrscheinlichkeiten

fact = dE / psi_max**2 / 1.2

plt.plot(x * 1e10, fact * (psi[N, :].T)**2 + E[N, :].T, 'k', linewidth=2)

plt.show()

(Bitte ignoriert erstmal die Zeilenabstände. )

Bild zum Beitrag
programmieren, harmonische Schwingung, Physik, Python, Quantenmechanik, spyder, Potential, Oszillator, physikalisch, Physikstudium, numerische Mathematik

stern im tkinter code?

Hallo,

ich soll eine Flagge mit Python und tkinter machen, ich wollte gern die Chile Flagge machen. Die Grundlage habe ich, jetzt fehlt nur noch der Stern. Im Internet hab ich also versucht einen Code zu finden, dieser funktioniert jedoch nicht und folgende Fehlermeldung taucht auf:

 %Run Flagge_Chile.py

Traceback (most recent call last):

 File "F:\WI\01_Python OOP WI\01_Objekte und Klassen\L1_1_Aufgabe_Flagge_HA_Chile.py", line 141, in <module>

  s.zeichnen()

 File "F:\WI\01_Python OOP WI\01_Objekte und Klassen\L1_1_Aufgabe_Flagge_HA_Chile.py", line 83, in zeichnen

  canvas.create_line(self.pos_x0, self.pos_y0, self.pos_x1, self.pos_y1, self.pos_x2, self.pos_y2, self.pos_x3, self.pos_y3, self.pos_x4, self.pos_y4, fill=self.farbe, outline=self.farbe)

 File "F:\S20\Programme\Thonny_3.2.3\lib\tkinter\__init__.py", line 2492, in create_line

  return self._create('line', args, kw)

 File "F:\S20\Programme\Thonny_3.2.3\lib\tkinter\__init__.py", line 2480, in _create

  *(args + self._options(cnf, kw))))

_tkinter.TclError: unknown option "-outline"

Das ist der Programmcode:

import tkinter as tk

class Rechteck:

  # Initialisiert ein Rechteck Objekt mit Standardwerten

  def __init__(self):

    self.breite = 0

    self.hoehe = 0

    self.pos_x = 0

    self.pos_y = 0

    self.farbe = "black"

  def __str__(self):

    return "Dies ist die Klasse 'Rechteck'"

  # Malt auf ein übergebenes "tk.Canvas" Objekt das Rechteck

  def zeichnen(self):

    x_ende = self.pos_x + self.breite

    y_ende = self.pos_y + self.hoehe

    canvas.create_rectangle(self.pos_x, self.pos_y, x_ende, y_ende, fill=self.farbe, outline=self.farbe)

class Kreis:

  def __init__(self):

    self.pos_x = 0

    self.pos_y = 0

    self.radius = 0

    self.farbe = "black"

  def __str__(self):

    return "Dies ist die Klasse 'Kreis'"

  # Malt auf ein übergebenes "tk.Canvas" Objekt den Kreis

  def zeichnen(self):

    # berechne Postion bis wohin gezeichnet werden muss, abhängig vom Radius

    x_beginn = self.pos_x - self.radius

    y_beginn = self.pos_y - self.radius

    x_ende = self.pos_x + self.radius

    y_ende = self.pos_y + self.radius

    canvas.create_oval(x_beginn, y_beginn, x_ende, y_ende, fill=self.farbe, outline=self.farbe)

     

class Stern:

  def __init__(self):

    self.pos_x0 = 0

    self.pos_y0 = 0

    self.pos_x1 = 0

    self.pos_y1 = 0

    self.pos_x2 = 0

    self.pos_y2 = 0

    self.pos_x3 = 0

    self.pos_y3 = 0

    self.pos_x4 = 0

    self.pos_y4 = 0

    self.farbe = "black"

    self.outline = "black"

     

  def __str__(self):

    return "Dies ist die Klasse 'Stern'"

     

  def zeichnen(self):

    canvas.create_line(self.pos_x0, self.pos_y0, self.pos_x1, self.pos_y1, self.pos_x2, self.pos_y2, self.pos_x3, self.pos_y3, self.pos_x4, self.pos_y4, fill=self.farbe, outline=self.farbe)

     

if __name__ == '__main__':

  # GUI Klasse initialisieren

  application = tk.Tk()

  # Hinzufügen einer Zeichenfläche

  canvas = tk.Canvas(application, width=600, height=400)

  canvas.pack()

 

 

  r = Rechteck()

  r.pos_x = 30

  r.pos_y = 30

  r.breite = 200

  r.hoehe = 200

  r.farbe = "blue"

  r.zeichnen()

   

  r.pos_x = 230

  r.pos_y = 30

  r.breite = 390

  r.hoehe = 200

  r.farbe = "white"

  r.zeichnen()

   

  r.pos_x = 30

  r.pos_y = 230

  r.breite = 600

  r.hoehe = 220

  r.farbe = "red"

  r.zeichnen()

   

  s = Stern()

   

  s.pos_x0 = 40

  s.pos_y0 = 70

  s.pos_x1 = 60

  s.pos_y1 = 40

  s.pos_x2 = 80

  s.pos_y2 = 70

  s.pos_x3 = 40

  s.pos_y3 = 50

  s.pos_x4 = 80

  s.pos_y4 = 70

  s.outline = "red"

  s.zeichnen()

 

  # Fokus auf die GUI legen und starten

  tk.mainloop()

Weiß jemand wo der Fehler ist und könnte mir helfen?
Im Voraus schonmal Dankeschön.

programmieren, Code, Informatik, Programmiersprache, Python, Programmcode, Tkinter

Meistgelesene Beiträge zum Thema Python