Code – die besten Beiträge

Python programmieren, Objektorientierte Programmierung in verschiedenen Dateien mit Klassen?

Hey,

ich lerne aktuell Python und habe angefangen einen Chatbot zu programmieren.
Nun will ich anfangen mir anzugewöhnen in verschiedenen Dateien mit Objektorientierter Programmierung zu programmieren bzw. das erstmal zu lernen.
Mein Gedanke in meinem Code ist z.B. eine Klasse WindowTemplate zu erstellen und diese als Blaupause ohne vorgegebene Werte zu definieren.
An Sich gelingt mir das auch aber ich habe Probleme von einer anderen Klasse aus einer anderen Datei darauf zuzugreifen und die Werte für wie zum Beispiel Größe oder Titel zu übergeben.
Ich würde mich freuen wenn hier mal jemand der etwas Erfahrung hat drauf schauen könnte und mich zumindest mal in die richtige Richtung leiten kann. :)
Viele Dank!

main.py

Fehlermeldung ist diese:

Traceback (most recent call last):

line 17, in <module>

  app = Main()

     ^^^^^^

line 9, in __init__

  self.main_window.set_size("1680", "900")

line 10, in set_size

  self.window_size.geometry(f"{width}x{height}")

  ^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'NoneType' object has no attribute 'geometry'

import view
import customtkinter as ctk


class Main(ctk.CTk):
    def __init__(self):
        super().__init__()
        self.main_window = view.WindowTemplate()
        self.main_window.set_size("1680", "900")
        self.main_window.set_title("YourTerminal")

    def my_mainloop(self):
        self.mainloop()


if __name__ == "__main__":
    app = Main()
    app.my_mainloop()

view.py

import customtkinter as ctk


class WindowTemplate:
    def __init__(self, window_size=None, window_title=None):
        self.window_size = window_size
        self.window_title = window_title

    def set_size(self, width, height):
        self.window_size.geometry(f"{width}x{height}")

    def set_title(self, title):
        self.window_title.title(title)
Code, Programmiersprache, Python, Python 3, Objektorientierte Programmierung, Tkinter, Pycharm

Fehler bei password verify php?

Ich habe ein Testprogramm geschrieben, in dem man ein Passwort eingibt, dass dann gehasht in einer Datenbank gespeichert wird. Wenn ich mit dem Passwort vergleiche kommt aber nicht true sondern false raus. Das ganze habe ich in WebFTP gemacht.

Als Ausgabe bekomme ich:

123456789 $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Richtig In Datenbank übertragen $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Falsch Richtig übertragen

Bedeutet das gehashte Passwort wurde richtig gespeichert, aber passwort verify hat beim zweiten mal false zurück gegeben.

Hier ist der php Teil dazu:

<?php
if (isset($_POST["start"])) {
    $password = $_POST["password"];
    $email = $_POST["email"];
    echo $password . " ";
    $passwordHash = password_hash($password, PASSWORD_DEFAULT);
    echo $passwordHash . " ";
    if (password_verify($password, $passwordHash)){
        echo "Richtig ";
    }else{
        echo "Falsch ";
    }
    require_once "data.php"; //Hier wird die Datenbankverbindung gespeichert
    $statement = $pdo->prepare("INSERT INTO tab (email, password) VALUES (?, ?)");
    $statement->execute(array($email, $passwordHash));
    if ($statement){
        echo "In Datenbank übertragen ";
        $sql = "SELECT * FROM tab WHERE email='$email'";
        $user = $pdo->query($sql)->fetch();
        $passwordTest = $user["password"];
        echo $passwordTest . " ";
        if (password_verify($password, $passwordTest)){
            echo "Richtig ";
        }else{
            echo "Falsch ";
            if ($passwordHash == $passwordTest){
                echo "Richtig übertragen ";
            }else{
                echo "Falsch übertragen ";
            }
        }
        die();
    }else{
        die("Es ist etwas schief gelaufen");
    }
}
?>
SQL, HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, phpMyAdmin

Was ist bei meinem C# Code falsch?

using System;
namespace NeuArray
{
  class Programm
  {
    static void Main()
    {
      string[,] products = new string[2, 5];
      products[0, 0] = "Senf";
      products[1, 0] = "1.99 Euro";
      products[0, 1] = "Smartphone";
      products[1, 1] = "Preis: 1299 Euro";
      products[0, 2] = "Schokolade";
      products[1, 2] = "2.99 Euro";
      products[0, 3] = "Obst";
      products[1, 3] = "1.49 Euro";
      products[0, 4] = "Couch";
      products[1, 4] = "499 Euro";
    Start:
      Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
      int Spalte = Convert.ToInt32(Console.ReadLine());
      if (Spalte < 0 || Spalte > 5)
      {
        Console.WriteLine("Diese Spalte existiert nicht. ");
        goto Start;
      }
      Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
      Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
      int Abfrage = Convert.ToInt32(Console.ReadLine());
      switch (Abfrage)
      {
        case 1:
          Console.WriteLine(products[1, Spalte]);
          break;
        case 2:
           
          Abfrage2:
            Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
            int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
            if ((AbfrageProduktNeu == 1))
            {
              goto Start;
            }
            else if (AbfrageProduktNeu == 2)
            {
              Console.WriteLine("Programm beendet.");
            }
            else
            {
              Console.WriteLine("Ungültige Eingabe.");
              goto Abfrage2;
            }
            break;    
      }
    }
  }
}

Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".

Könnt ihr mir helfen bitte?

Software, App, programmieren, C Sharp, Code, Programmiersprache, Visual Studio

Meistgelesene Beiträge zum Thema Code