Wie kann ich eine Python Methode in einen int() umwandeln?

Ich schreibe aktuell an einem Python Code, dass mir die Uhrzeit anzeigen soll:

from tkinter import *
from time import *

Fenster = Tk()
Fenster.geometry(str(Fenster.winfo_screenwidth())+"x"+str(Fenster.winfo_screenheight()))
Fenster.title("Funktionen")

def Aktuelle_Zeit():
    Label(text = strftime("%H:%M:%S", localtime(time()))).place(x = int(Fenster.winfo_screenwidth)/4, y = int(Fenster.winfo_screenheight)/4)
Button(text = "Aktuelle Zeit", command = Aktuelle_Zeit).place(x = int(Fenster.winfo_screenwidth())/6*5, y = int(Fenster.winfo_screenheight()/20))


mainloop()

Jetzt kommt der Fehler:

Exception in Tkinter callback
Traceback (most recent call last):
 File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.752.0_x64__qbz5n2kfra8p0\Lib\tkinter\__init__.py", line 1948, in __call__
  return self.func(*args)
      ^^^^^^^^^^^^^^^^
 File "e:\Programmieren\New.py", line 10, in Aktuelle_Zeit
  Label(text = strftime("%H:%M:%S", localtime(time()))).place(x = int(Fenster.winfo_screenwidth)/4, y = int(Fenster.winfo_screenheight)/4)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'method'

Ich denke: Das heißt, dass ich eine Methode in einen integer umwandeln möchte, das aber nicht geht.

Das Label soll aber hinter einem Viertel des Bildschirms plaziert werden. Deswegen nehme ich die Bildschirm Größe und teile sie durch 4. Wie kann ich das Ganze sonst machen, ohne das ein Fehler kommt? Würde mich bei einer Antwort freuen.

Euer Alex

Computer, Programmiersprache, Python, Zeit, Python 3
**kwargs in __init__() Methode und "self" in Python?

Hey Leute,

ich habe heute begonnen, Kivy zu lernen. Kivy ist ein Python Framework, für plattformübergreifende Apps. Ich bin allerdings noch ein Anfänger in Python und da man für Kivy OOP beherrschen muss. Habe ich mir eben ein paar Tutorials angeschaut und das Konzept von Klassen auch verstanden und schon etwas geübt. Auch das "self" eine Referenz auf die aktuelle Instanz ist habe ich kapiert. Aber wieso kann man aus einer Methode auf die Instanzvariablen nur zugreifen, wenn vor diesen "self" steht?

Und meine zweite Frage ist, wozu bei der Initialisierung der __init__() Methode manchmal noch so ein **kwargs steht. Also hier mal ein Beispielcode:

class MyGrid(GridLayout):

  def __init__(self, **kwargs):

    super().__init__(**kwargs)

    self.word_list = ["python", "java", "ruby", "javascript"]

    self.guess_word = []

    self.secret_word = ""

    self.remaining_guesses = 6

    self.img_path = "img/hangman_{}.png"

    self.create_game_layout()

    self.new_game()

Das ist jetzt mal nur die __init__() Methode einer MyGrid Klasse die von GridLayout erbt.

Ach ja. Was dieses "super()" bedeutet habe ich auch nicht so ganz verstanden.

Ich wäre sehr sehr dankbar wenn mir jemand helfen könnte. Denn ich will für eine Projektarbeit im Informatikunterricht umbedingt eine Android Kivy App für Hangman programmieren. Aber dafür muss ich diese Themen erst einmal verstehen.

LG Code Snake

Programmiersprache, Python, Instanz, Python 3, Objektorientierte Programmierung, App Programmieren
Wie sende ich DNS Cookies mit dnslib?

Ich möchte mit dnslib die DNS-Antworten von den jeweiligen Anfragen mit einem DNS-Cookie versehen. Ich habe auch bereits etwas dafür in meinen Code implementiert, jedoch funktioniert das noch nicht so. Kann mir jemand sagen, was ich da brauche?

Der Code:

import socket
from dnslib import *

DNS_PORT = 53

dns_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
dns_socket.bind(('', DNS_PORT))

print(f"DNS-Server hört auf Port {DNS_PORT}...")

def dns_forward(domain):
    try:
        ip_address = socket.gethostbyname(domain)
        return ip_address
    except socket.error:
        return '185.199.111.153' #Error 404

while True:
    data, address = dns_socket.recvfrom(1024)

    dns_message = DNSRecord.parse(data)
    dns_request = str(dns_message.q.qname)
    
    dns_answer = dns_forward(dns_request)
    
    client_ip = address[0]
    client_port = address[1]

    dns_cookie = ("4096")

    if client_ip == '192.168.0.113'
        dns_response = DNSRecord(DNSHeader(id=dns_message.header.id, qr=1, aa=1, ra=1), q=dns_message.q)
        dns_response.add_answer(RR(dns_request, QTYPE.A, rdata=A(dns_answer)))
        dns_response.add_ar(RR(dns_request, QTYPE.OPT, rdata=TXT(dns_cookie)))
        dns_socket.sendto(dns_response.pack(), address)
    
    print(f"DNS-Anfrage von {client_ip} mit Port {client_port} für {dns_request} die Antwort ist {dns_answer}")

Die Fehlermeldung:

Traceback (most recent call last):
 File "c:\Users\Stoppersocke\Documents\Projects\MDM Bypass\test5.py", line 35, in <module>
  dns_socket.sendto(dns_response.pack(), address)
           ^^^^^^^^^^^^^^^^^^^
 File "C:\Users\Stoppersocke\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\dnslib\dns.py", line 339, in pack
  ar.pack(buffer)
 File "C:\Users\Stoppersocke\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\dnslib\dns.py", line 885, in pack
  for opt in self.rdata:
TypeError: 'TXT' object is not iterable
DNS, Netzwerktechnik, Programmiersprache, Python, DNS FEHLER, DNS-Server, Python 3
Durschnittszeiten mit arrays in python berechnen?

Ich programmiere aktuell einen 1x1 Trainer um Programmieren zu üben/ lernen. Aktuell wird nach eingeben der Aufgabe, die Aufgabe überprüft und Richtig oder Falsch angezeigt. Darunter die benötigte Zeit für die Aufgabe.
Jetzt will ich aber statt der benötigten Zeit pro Aufgabe die Durchschnittszeit pro Aufgabe angezeigt bekommen (Am besten mit Speichern von Daten in Arrays).

Kann mir da jemand helfen?

Hier der aktuelle Code:

from random import randint

import tkinter as tk

import time

status = False

def buttonLos_clicked(event):

    global status

   

    if status == False:

        status = True

        nextTask()

def nextTask():

    global a, b, produkt, zeitanfang

    textbox.delete(0,tk.END)

    zeitanfang = time.time()

   

    a = randint(1,10)

    b = randint(1,10)

    produkt = a * b

    showTask()

def showTask():

    global a, b

   

    labelTask["text"]="Wie viel ist " + str(a) + " x " + str(b) + "?"

def checkAufgabe(event):

    global produkt, zeitanfang, zeitende

   

    antwort = int(textbox.get())

    if antwort == produkt:

        zeitende = time.time()

        labelAnswer["text"] = "Richtig"

        labelTime["text"] = round(zeitende - zeitanfang, 2)

        nextTask()

   

    else:

        labelAnswer["text"] = "Leider falsch. Probiere es nochmal"

        textbox.delete(0,tk.END)

        showTask()

root = tk.Tk()

root.title("1x1-Trainer")

labelBody1 = tk.Label(root, text="Es werden dir zufällige Aufgaben gestellt.")

buttonLos = tk.Button(root, text="Los")

labelTask = tk.Label(root)

textbox = tk.Entry(root)

labelAnswer = tk.Label(root)

labelTime = tk.Label(root)

labelBody1.pack()

buttonLos.pack()

labelTask.pack()

textbox.pack()

labelAnswer.pack()

labelTime.pack()

buttonLos.bind("<Button-1>", buttonLos_clicked)

textbox.bind("<Return>", checkAufgabe)

root.mainloop()

programmieren, Array, Programmiersprache, Python, time, benutzeroberflaeche, Python 3, Tkinter
Python Fehler bei Multiprocessing?

Hallo,

Momentan schreibe ich eine kleine Anwendung die Text sprechen soll. Mein Code:

Voice.py

from loguru import logger
import pyttsx3
import multiprocessing


class Voice():


    def __init__(self):
        import YAML
        self.process = None
        logger.debug("[CONFIG] Reading Config Data")
        self.voiceId = YAML.config['assistant']['Voice']['VoiceID']
        logger.debug("[Start] Voice initialistion")
        self.engine = pyttsx3.init()
        self.engine.setProperty('voice', self.voiceId)
        logger.debug("[Finish] Voice initialistion")


    def __speak__(self, text):
        self.engine.say(text)
        self.engine.runAndWait()
    
    def say(self, text):
        if self.process:
            self.stop()
        logger.debug("[START] Say process")
        p = multiprocessing.Process(target=self.__speak__, args=(text, ))
        p.start()
        self.process = p


    def stop(self):
        if self.process:
            self.process.terminate()
            logger.info("[STOPP] Say process")

Main.py

from loguru import logger
import Voice
logger.info("[START] ...")
self.Voice = Voice.Voice()
logger.info("...")
self.Voice.say("Initalisierung abgeschloßen")

Bei der Ausführung wird mir aber folgender Fehler ausgegeben:

Traceback (most recent call last):
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 15, in <module>
    Assistant = VoiceAssistant()
                ^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 9, in __init__
    self.Voice.say("Initalisierung abgeschloßen")
  File "C:\Users\toni-\Desktop\VoiceAssistant\Voice.py", line 26, in say
    p.start()
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\popen_spawn_win32.py", line 94, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle 'module' object
PS C:\Users\toni-\Desktop\VoiceAssistant> Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\spawn.py", line 106, in spawn_main
    source_process = _winapi.OpenProcess(
                     ^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 87] Falscher Parameter
Programmiersprache, Python, Python 3
(Python) .ts-, .pro-Dateien, QTranslator und Qt Linguist richtig verwenden?

Leider konnte mir nicht einmal ChatGPT helfen, da dieser Bot nur noch für Verwirrung gesorgt hat. Mal brauchte man eine gewisse Datei, mal nicht. Dann musste diese Datei mal dort und mal dort liegen. Auch das Recherchieren hat nicht viel gebracht.

Also, folgendes Problem:

Ich möchte QTranslator verwenden, um in meiner GUI-Anwendung, die ich mit dem Qt Designer gestalte, die ganzen Texte zu übersetzen.

Alle Texte von den ganzen beschrifteten Elementen usw. sollen in Deutsch und Englisch übersetzt werden können. Mit "lupdate -ts ..." habe ich die Quelldatei MainWindow.py analysieren lassen, um mir daraus passende .ts-Dateien erstellen zu lassen. Die MainWindow.py-Datei ist die konvertierte MainWindow.ui-Datei.

Das Ding ist nur, dass dann nicht weiter als

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="SPRACHE">
</TS>

in den .ts-Datein steht - ich weiß aber nicht, ob das falsch ist. Wenn ich aber diese Datei in Qt Linguist öffnen möchte, sagt der mir Die Übersetzungsdatei /lang/de_DE.ts ist leer und wird daher nicht geladen.

Hier ist der Baum meines Projektes, damit man mir außerdem besser weiterhelfen kann, welche Datei ich für die Übersetzung wo hinlegen soll:

In dieser de_DE.pro-Datei steht einfach nur

TEMPLATE = app
QT += core gui linguist
SOURCES += ../gui/MainWindow.py
TRANSLATIONS += translations/de_DE.ts translations/en_US.ts

drin und ich weiß immer noch nicht, ob die wirklich gebraucht wird.

Vielen Dank!

Bild zum Beitrag
programmieren, Python, GUI, Python 3, Pycharm
ChatBot wie ChatGPT programmieren? (Einfacher)?

Hi, mein großes Projekt für dieses Jahr soll sein, einen intelligenten ChatBot zu Coden. Ähnlich wie ChatGPT, aber mit ist natürlich bewusst, dass ich einen so komplexen Bot nicht machen kann. Es soll ein kleinerer werden.

Meine Vorstellungen:

Die Oberfläche mit HTML und CSS

Die Datenbank mit SQL? (ich habe wenig Erfahrung mit Datenbanken, deshalb das Fragezeichen)

Ansonsten die Logik eventuell mit JS, aber eventuell mit etwas anderem, da man ja über JS leicht Schadsoftware injizieren kann.

Könnt ihr mir da einen Vorschlag machen?

Die Funktion habe ich mir so vorgestellt:

In einer Datenbank sind entweder Schlüsselwörter oder komplette Antworten gespeichert. Zu jedem Schlüsselwort sollen Daten gespeichert sein. Wenn in der Datenbank nur Schlüsselwörter gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.

Ein Beispiel:

Eingegebene Frage: Wer ist der Bundeskanzler von Deutschland?

(Bot Sicht spezielle Wörter im Text, z.B. Bundeskanzler und Deutschland)

in der Datenbank: Olaf Scholz (Daten zu ihm, Schlüsselwörter wann diese Antwort genutzt wird) z.B. Olaf Scholz (deutscher Kanzler, männlich, …)[Bundeskanzler+Deutschland, Olaf Scholz, Scholz]

In dem runden Klammern die Daten zu ihm, in den eckigen die Schlüsselwörter, wann die Antwort genutzt wird. Ansonsten halt vorgefertigte Antworten, die sich auch an Schlüsselwörtern in der Frage orientieren.

Wenn nur Wörter gespeichert sind, dann soll er sich einen Satz drumherum bauen.

Ich würde ihn im Browser laufen lassen, aber nicht öffentlich. Eventuell kann man ihn auch mit Google verknüpfen… auch wenn dann vermutlich die ein oder andere Antwort falsch ist. Aber das macht bei meinem nichts. Was haltet ihr davon? Wie würdet ihr es umsetzen? Welche Sprache? Eventuell ein paar Zeilen Code für bestimmte Funktionen?

LG

Programm, SQL, HTML, Programmierer, programmieren, CSS, Java, JavaScript, künstliche Intelligenz, Programmiersprache, Python, C (Programmiersprache), Chatbot, Python 3, Pygame, ChatGPT
Python: Problem mit .jpeg?

Hey ich hab ein Problem und meine Programmierkenntnisse reichen nicht einmal ansatzweise dazu aus das zu lösen:

gegeben seien zwei Listen, einmal REM und SEM. Dieser werden jeweils Bilderpfade hinzugefügt. Die Bilder werden dann in ne docx-Tabelle eingefügt. Klappt soweit auch alles, zumindest für SEM.

            REM=[]
            EDX=[]
            n_pictures=0
            for i in os.listdir(path_target_main+'\\'+AN_input+'\\'):
                if i.endswith('.jpeg'):
                    if i[0]!='s':
                        n_pictures+=1
                        REM.append(path_target_main+'\\'+AN_input+'\\'+i)
                        EDX.append(path_target_main+'\\'+AN_input+'\\s'+i)
            k=input(n_pictures)
            path=os.getcwd()
            
            path_doc=path+'\main.docx'
          
            doc = docx.Document(path_doc)
            Table=doc.tables[0]
          
            for row in Table.rows:
                for cell in row.cells:
                    paragraphs = cell.paragraphs
                    for paragraph in paragraphs:
                        for run in paragraph.runs:
                            font = run.font
                            font.size= Pt(11)
                            font.name="Arial"
            n_rows=(n_pictures*2)-2
            for i in range(0,n_rows):
                Table.add_row().cells
           
            print(REM)
            print(EDX)


            Table.cell(0, 1).text = ''
            Table.cell(0, 1).paragraphs[0].runs[0].add_picture(REM[1],width=Cm(4.5))


            #Table.cell(0, 0).text = ''
            #Table.cell(0, 0).paragraphs[0].runs[0].add_picture(REM[0],width=Cm(4.5))


            Table.cell(1, 0).text = '1.1'
            Table.cell(1, 0).paragraphs[0].runs[0].font.bold = False
      
            doc_name="new.docx"
            doc.save(doc_name)
Traceback (most recent call last):
[...HAB ICH GELÖSCHT WEGEN DÄMLICHER ZEICHENBEGRENZNG"
[bla bla]e-packages\docx\image\image.py", line 126, in width
    return Inches(self.px_width / self.horz_dpi)
ZeroDivisionError: division by zero

Möchte ich die Bilder aus REM jedoch hinzufügen erhalte ich den ZeroDivisionError: division by zero. Bissl gegoogelt: irgend ne Info scheint net gespeichert zu sein für die Bilder unter REM. Wie behebe ich das? Das nervt mich total gerade -.-

Programmiersprache, Python, Python 3
Wie lasse ich den Ball richtig abprallen (Python/ pgzrun)?

Hallo liebe Community,

ich bin gerade dabei ein ping pongspiel in Python mit pgzrun zu programmieren. Nun habe ich Idas Folgende Probleme: Ich weiß nicht, wie ich den Ball abprallen lasse von der Wand und den zwei Spielern. Meine Idee war es den Winkel immer ca. +90 zu rechnen, wenn der etwas trifft. Dies funktionierte nur in bestimmten fällen richtig (z.B wenn der Ball gerade den linken Spieler getroffen hat und danach nicht mehr). Ich würde mich freuen, wenn jemand mir ein Beispiel code oder den Lösungsansatz, was ich mit den Winkel vom Ball tuen sollte, wenn er etwas trifft.

Code:

# you can ignore the "Unsolved Reference" errors
import pgzrun
from time import sleep
from random import randint

# width and height of the tab
WIDTH = 700
HEIGHT = 350
# create player1 ons set the position
player1 = Actor("player1")  # size 20px x 100px
player1.x = 65
player1.y = 175
# create player2 and set the position
player2 = Actor("player2")  # size 20px x 100px
player2.x = 635
player2.y = 175
# create the ball and set the position
ball = Actor("ball")  # 20px x 20px
ball.x = 350
ball.y = 175
ball.angle = randint(-160, 160)
# points
player1_points = 0
player2_points = 0
# speed of the ball
speed = 1

def draw():
    # draw the elements of the game
    screen.fill((12, 12, 12))  # black background
    player1.draw()
    player2.draw()
    ball.draw()
    screen.draw.text(f"{player1_points} : {player2_points}", (330, 25))

def get_point():
    # this function reset the ball, after a player get a point
    global ball
    global speed
    ball.x = 350
    ball.y = 175
    sleep(3)
    ball.angle = randint(-160, 160)
    speed = 1


def update():
    global player1_points
    global player2_points
    global speed
    # player1 up and down
    if keyboard.w and player1.y > 50:
        player1.y -= 7
    if keyboard.s and player1.y < 300:
        player1.y += 7
    # player2 up and down
    if keyboard.up and player2.y > 50:
        player2.y -= 7
    if keyboard.down and player2.y < 300:
        player2.y += 7
    # points
    if ball.x > 0:
        player2_points += 1
        get_point()
    if ball.x > 700:
        player1_points += 1
        get_point()

    if ball.colliderect(player1) or ball.colliderect(player2) or ball.y < 10 or ball.y > 340:
        # bounce
        

pgzrun.go()

Viele Grüße

Zerstoerer0711

programmieren, Code, Programmiersprache, Python, Python 3, Spiele programmieren, Pygame
Mein Python Code funktioniert nicht?

Guten Abend erst einmal,

ich habe versucht mittels Python ein Mau Mau spiel zu erstellen, aber wenn ich es ausprobieren will, zeigt mir das Programm mitten im code " invalid Syntax " an.

Kann einer von euch mal bitte drüber schauen und mir sagen, was fehlt?

Hier ist der Code (,was mir als Fehler angezeigt wurde habe ich markiert( es ist das deck.shuffel ())).

import random

class Card:

 def __init__(self, value, suit):

  self.value = value

  self.suit = suit

   

 def __repr__(self):

  return f"{self.value} of {self.suit}"

class Deck:

 suits = ["Hearts", "Diamonds", "Spades", "Clubs"]

 values = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"]

 def __init__(self):

  self.cards = [Card(value, suit) for suit in self.suits for value in self.values]

 def shuffle(self):

  random.shuffle(self.cards)

   

 def deal(self):

  return self.cards.pop()

class Player:

 def __init__(self, name):

  self.name = name

  self.hand = []

 def draw(self, deck):

  self.hand.append(deck.deal())

 def play_card(self, card):

  self.hand.remove(card)

class AIPlayer(Player):

 def choose_card(self, top_card):

  for card in self.hand:

   if card.value == top_card.value or card.suit == top_card.suit:

    return card

  return self.hand[0]

def play_game():

 deck = Deck()

...  deck.shuffle()

...  

...  player = Player("Player")

...  ai = AIPlayer("AI")

...  

...  for i in range(7):

...   player.draw(deck)

...   ai.draw(deck)

...  

...  top_card = deck.deal()

...  

...  while len(player.hand) > 0 and len(ai.hand) > 0:

...   print(f"Top card: {top_card}")

...   print(f"{player.name}'s hand: {player.hand}")

...   

...  chosen_card = player.play_card(player.hand[int(input("Choose a card to play (index): "))])

...   if chosen_card.value == top_card.value or chosen_card.suit == top_card.suit:

...    top_card = chosen_card

...   else:

...    player.draw(deck)

...    print(f"{player.name} drew a card.")

...   

...   if len(ai.hand) > 0:

...    chosen_card = ai.choose_card(top_card)

...    print(f"{ai.name} played {chosen_card}.")

...    if chosen_card.value == top_card.value or chosen_card.suit == top_card.suit:

...     top_card = chosen_card

...    else:

...     ai.draw(deck)

...     print(f"{ai.name} drew a card.")

...   

...  if len(player.hand) == 0:

...   print(f"{player.name} wins!")

...  else:

...   print(f"{ai.name} wins!"

>>> [DEBUG ON]

>>> [DEBUG OFF]

programmieren, Programmiersprache, Python, Mau-Mau, Python 3
Probleme mit pip install von Python Packages?

Hi, ich habe Probleme beim installieren von Python Packages.

Auf meinem Laptop habe ich zwei Benutzerkonten, eines für den täglichen gebrauch ohne Adminrechte und das Andere mit Adminrechten, dass ich eigentlich nur für die Instalation von Programmen nutze.

Als Python Version nutze ich Anaconda3, und das läuft auch Problem los. Wenn ich allerdings ein neues Package mittels pip installieren will:

pip install psycopg2

bekomme ich immer diese meldung:

pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ pip install psycopg2
+ ~~~
   + CategoryInfo         : ObjectNotFound: (pip:String) [], CommandNotFoundException
   + FullyQualifiedErrorId : CommandNotFoundException

Auch abfragen nach der Python Version liefern Fehlermeldungen:

py --version
py : Die Benennung "py" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ py --version
+ ~~
   + CategoryInfo         : ObjectNotFound: (py:String) [], CommandNotFoundException
   + FullyQualifiedErrorId : CommandNotFoundException

Auch Suchen nach "Python" oder "python" liefern diesen Fehler.

Es macht keinen unterschied ob ich hierzu den Terminal von vs Code oder Windows PowerShell nutze.

Hat jemand eine Idee woran das liegen könnte?

Über Hilfe wäre ich wirklich sehr dankbar.

Python, pip, Python 3
PyQT6 Code - Zufällige Buchstaben?

Ich habe diesen Code geschrieben:

import random
import sys
from PyQt6.QtCore import Qt, QSize
from PyQt6.QtGui import QPixmap, QFont
from PyQt6.QtWidgets import QApplication, QLabel, QMainWindow, QPushButton
from PyQt6.QtWidgets import (
    QApplication,
    QCheckBox,
    QComboBox,
    QDateEdit,
    QDateTimeEdit,
    QToolBar,
    QDial,
    QDoubleSpinBox,
    QFontComboBox,
    QLabel,
    QLCDNumber,
    QLineEdit,
    QMainWindow,
    QProgressBar,
    QPushButton,
    QRadioButton,
    QSlider,
    QSpinBox,
    QTimeEdit,
    QVBoxLayout,
    QWidget,
)


from PyQt6.QtWidgets import (QWidget, QLabel, QLineEdit,
        QTextEdit, QGridLayout, QApplication)


class SushiCreator(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setFixedSize(QSize(300, 200))
        self.setWindowTitle("Sushi Creator")
        self.setStyleSheet("background-color: lightblue;")


        self.start_button = QPushButton("Starten", self)
        self.start_button.move(105, 75)
        self.start_button.clicked.connect(self.start_clicked)
        
    def start_clicked(self):
        self.setFixedSize(QSize(1000, 1000))
        self.start_button.hide()


        letters = 'a' + 'b'+ 'c' + 'd' + 'e' + 'f' + 'g' + 'a' + 'h' + 'c'  
        random_letters = ''.join(random.choice(letters) for i in range(5))


        


        self.letters_edit = QPushButton(self)
        self.letters_edit.setText(random_letters)
        self.letters_edit.setFont(QFont("Arial", 200))
        self.letters_edit.setStyleSheet("background-color: cyan; color: black;")
        
        
     
        
    
        


if __name__ == '__main__':
    app = QApplication(sys.argv)
    sushi_creator = SushiCreator()
    sushi_creator.show()
    sys.exit(app.exec())

Es entsteht ein hellblaues Fenster mit einem "Start" Knopf. Nach Betätigung wird dieser versteckt und das Fenster groß. Leider sind keine Buchstaben zu sehen. Kann mir jemand helfen?

Programmiersprache, Python, Qt, Python 3
Problem beim Code anführen?

hallo Leute,

und finde ich den Fehler nicht, der es verhindert den Code auszuführen. Ich würd mich freuen, wenn ihr mir hilft und mir sagt wo der Fehler im Code ist bzw vllt den Code ohne Fehler schickt.

Hier der Code:


Konto={"Besitzerin":"Bob", "Kontostand":90000}


#Erweiterung des Dictionary "Konto" definieren
buchung={"typ":"einzahlung","Betrag":10000,
       "typ":"auszahlung","Betrag":30000}


#Konto und buchung zusammen bringen
Konto={"Besitzerin":"Bob", "Kontostand":90000,
      "buchungen":[{"type":"einzahlung","Betrag":10000,},
              {"type":"auszahlung","Betrag":30000},]}

#Funktion um Kontostand zu berechnen
def berechnung_Kontostand(Konto):
    for buchung in Konto["offene_Buchungen"]:
        if buchung["type"] == "einzahlen":
            Konto["Kontostand"] += buchung["betrag"]
        elif buchung["type"] == "auszahlen":
            Konto["Kontostand"] -= buchung["betrag"]

     #Buchungen verschieben
    Konto["buchungen"].extend(Konto["offene_Buchungen"]) #buchungen wird jetzt duch "offene_Buchungen ersetzt"
    Konto["offene_Buchungen"] = [] # mit neuer liste überschreiben, damit offene_buchungen leer sind.

print(Konto)

Konto=[{"Besitzer":"Petra","kontostand":90000,
          "buchungen":[{"type":"auszahlung","Betrag":50000},
                          {"type":"einzahlung","Betrag":20000,}]},

        {"Besitzer":"Bob","kontostand":70000,
            "buchungen":[{"type": "auszahlen", "betrag": 100}]}]



#NEUES KONTO HINZUFÜGEN
def neues_Konto_erstellen(name, Kontostand):
    neues_Konto = {}

    neues_Konto["Besitzer"] = name
    neues_Konto["Kontostand"] = Kontostand
    neues_Konto["buchungen"] = []   
    neues_Konto["offene_Buchungen"] = []
    return neues_Konto

neues_Konto = neues_Konto_erstellen("Peter", 400) 


#neue Buchung für neues Konto hinzufügen
miete = {"type": "auszahlen", "betrag": 500}
online_shopping = {"type": "auszahlen", "betrag": 120}

# buchungen dem konto hinzufügen
buchung_hinzufügen(Konto,buchung)==(neues_Konto, miete)
buchung_hinzufügen(Konto,buchung)==(neues_Konto, online_shopping)

# kontostand aktualieren
berechnung_Kontostand(Konto)==(neues_Konto)

# neues_konto unseren konten hinzufügen
Konto.append(neues_Konto)
print(Konto)


Datenstrukturen, Dictionary, Python 3

Meistgelesene Beiträge zum Thema Python 3