Programm – die neusten Beiträge

Wie kann ich meinen Python-Code schneller machen?

Hallo,

ich habe gestern in Python ein paar Funktionen geschrieben, die mir ein interessantes Bild ausrechnen sollen. Ich kriege es jedoch nicht hin, dass das Programm einigermaßen schnell läuft und am Ende muss auch die Auflösung darunter leiden

Wenn da mal jemand drüberschauen könnte, wäre das wirklich hilfreich.

import numpy as np
import matplotlib.pyplot as plt
from math import pi, sqrt, atan

#Punkt definieren
class point:
    def __init__(self,x=0,y=0,z=0):
        self.x = x
        self.y = y

    #Operationen
    def __str__(self):
        return "({0},{1})".format(self.x, self.y)

    def __add__(self, other):
        return point(self.x+other.x,self.y+other.y)

    def __sub__(self, other):
        return point(self.x - other.x, self.y - other.y)

    def __abs__(self):
        return sqrt(self.x**2 + self.y**2)

    def __mul__(self, other):
        if type(other) == point:
            return point(self.x * other.x, self.y * other.y)
        return point(self.x * other, self.y * other)

    def __truediv__(self, other):
        if type(other) == point:
            return point(self.x / other.x, self.y / other.y)
        return point(self.x / other, self.y / other)

    def __neg__(self):
        return point(-self.x,-self.y)

# weitere Funktionen für Punkte
def dis(PointA,PointB):
    return abs(PointB-PointA)

def dir(PointA,PointB):
    return (PointB-PointA)/dis(PointA,PointB)


#Funktion für den Wert
def grav_v(x,y,time=5,frames=60):
    p = point(-1,0)
    sp = point(x+1,y)

    c = point(0,0)
    sc = point(0,0)
    
    #Vielleicht wegen des for-loops so langsam?
    for k in range(frames*time):
        try:
            plus = dir(p,c) * 1/dis(p,c)**2 / frames
            sp += plus
            p += sp/frames
            sc -= plus
            c += sc/frames
        except:
            pass

    return p


#Funktion für das Bild
def grav_c(a=-4, b=4, smoothness=1):
    ROWS = []
    p = 0
    print(0)
    #zwei for-loops...
    for Y in np.linspace(a,b,int(200*smoothness)):
        row = []
        for X in np.linspace(a,b,int(200*smoothness)):
            g = grav_v(X, Y)
            row.append( (abs(atan(g.x)*2/pi), abs(atan(g.y)*2/pi), abs(atan(abs(g))*2/pi)) )
        ROWS.append(row)
        p += 1
        print(p / (200 * smoothness))
    plt.imshow(ROWS, extent=(a, b, a, b))
    plt.show()

grav_c()
Computer, Programm, programmieren, Effizienz, Informatik, Programmiersprache, Python

Probleme mit Cubase und Guitar Rig + Audio Interface?

Hallo. Ich hab ein Problem.

Und zwar: Ich hab ein Audio Interface: ( Focusrite 4i4 ) ein Mikrofon: ( Rode NT1A ) und ein Gitarrenprogramm ( Guitar Rig 6 ) und DAW: ( Cubase LE Al Elements 8 )

So... das Problem ist dass ich bei Guitar Rig 6 kein Ton höre sondern ( nur Clean Sound ) wenn ich dann einen Verstärker auswähle z.b Metal Verstärker knackst es und es kommen Stoppungen also man hört nicht wirklich was raus bzw. Input / Output Signal sieht man nicht beim anschlagen... wenn ich Guitar Rig in Cubase einfüge und was aufnehmen möchte hört man auch nichts vernünftiges raus...

Buffersize hab ich bei Guitar Rig auch schon hoch dann niedrig eingestellt aber bringt nichts... und bei Cubase wenn ich was aufnehmen möchte mit mein Mikrofon kommt gleich eine Meldung dass die Hardware getrennt worden ist ( wenn ich lauter singe ) und dann soll ich mein Audio Interface auswählen wenn ich das mache kommt wieder diese Meldung... Der Treiber müsste bei dem Audio Interface installiert sein also idk was da los ist...

Ich hab schon einige Produzenten angeschrieben aber keiner konnte mir helfen entweder weil die meisten mit Cubase nicht arbeiten oder mit Guitar Rig nicht arbeiten... Desweiteren habe ich auch Forume angeschaut wo aber die Erklärung komisch erklärt werden und Videos angeguckt die aber auf Englisch sind also wenig deutsche Videos davon und da hab ich einfach kein Nerv dazu... hab auch mit Thomann geschrieben ( E- Mail ) da haben sie mir auch paar Links geschickt was aber ebenfalls kompliziert ist und für mich nicht verständlich...

Und nur um zu erwähnen: ( Bin Weiblich 23 Jahre alt. )

Ich bin langsam verzweifelt und mehr als frustriert...

Hoffe ihr könnt mir da helfen denn das ganze ist mir wirklich wichtig! Da ich bald wie möglich wieder mit Musik anfangen möchte...

Daher Danke schonmal für eure Antworten...

Computer, Musik, Technik, Programm, Hardware, Homestudio, Technologie, Audio-Interface, Rode NT1-a

Wie kann ich das anders Umsetzen (Python 3)?

Hi also ich mach mir einen kleinen Sprachassistenten Bot ist nichts zum veröffentlichen oder so ich mach mir das halt um während dem Zocken mal sagen zu können spiel playlist ... usw. Speech to Text usw klappt alles Wunderbar nur das Music Spielen macht klitze bisschen Probleme. Ich will das "main.py" weiter zuhört nachdem ich subprocess.call() gemacht habe aber in dem script das ich damit augerufen habe ist so etwas wie time.sleep() damit die music weiter spielt.

Teil meiner Main.py:


if "spiel" in txt:
    if "playlist" in txt:
        if "1" in txt:
            say("Playlist 1 wird Wiedergegeben.")
            subprocess.call(["C:\\Users\\Zensiert\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe", "playlist1.py", "play"])
            os.execv(sys.executable, ['python3'] + sys.argv)

if "pause" in txt:
    say("Musik wird Pausiert")
    subprocess.call(["C:\\Users\\Zensiert\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe", "playlist1.py", "pause"])

Und hier meine playlist1.py

import pygame
import sys, getopt

arguments = str(sys.argv)

pygame.init()

pygame.mixer.music.load('C:\\Users\\Zensiert\\IdeaProjects\\LibreOfficeSprachAssistent\\.idea\\songs\\playlist1\\streets.mp3')
if(sys.argv[1]== 'play'):
    pygame.mixer.music.play()

elif(sys.argv[1] == 'pause'):
    pygame.mixer.music.pause()

print(f"Arg Input      : {sys.argv[1]=}")

clock = pygame.time.Clock()
while pygame.mixer.music.get_busy():
    clock.tick(309)
    pygame.event.poll() 

Das Script spielt die Musik und es klappt auch alles aber ich kann halt erst wieder reden wenn ich 309 Sekunden (Wegen dem "clock.tick(309)") gewartet habe. Jemand eine Idee? Ich weiß alles nicht so gut erklärt sorry

PC, Computer, Windows, Programm, Sprache, programmieren, System, Bot, Informatik, Playlist, Python, debugging, Wiedergabe, Pygame, Sprachassistent, IntelliJ IDEA

Umfang und den Flacheninhalt des Kreises bestimmen mit dem Python?

Hallo

, ich brauche Hilfe.

man soll 2 Python Programme mit oben stehende Formeln ( Formeln zur Bestimmung des Radius des Inkreises im Dreieck)

schreiben, die jeweils den Umfang und

den Flacheninhalt des Kreises bestimmen.Erste program soll nur mit a,b und c sein und zweite program mit h(höher), β und γ(gamma) sein, längen sollen in cm und Winkel soll in grad sein.

Ich habe es versucht, aber mein Programm hat nicht funktioniert, ich möchte bitten kann mir jemand zeigen, wie man dafür die richtige Programme schreiben kann?

hier ist mein code.

from math import sqrt

a = float(input('Koeffizient a: '))

b = float(input('Koeffizient b: '))

c = float(input('Koeffizient c: '))

frage = int(input ("ist f bekannt? :")

if frage == "yes":

f = float(input('f eingeben :'))

r = (f+f) / (a + b + c)

p = round(2 * 3.14 * r, 2)

area = round(3.14 * r * r, 2)

print ("p=", p)

print("area =",area)

else:

s = (a+b+c)/2

r1 = sqrt((s-a)(s-b)(s-c)/s)

area1=round((3.14*r1*r1,2))

p1=round(2*3.14*r1,2)

print("area1=",area1)

print("p1=",p1)

hier zum beispiel.f ist A(flächeninhalt von Dreieck) hier. ich möchte ein programm schreiben das fragt wenn A bekannt ist dann berechnet das programm den radius mit 2f/a+b+c fomel wenn nicht dann mit dieser formeln s = (a+b+c)/2 ,r1 = sqrt((s-a)(s-b)(s-c)/s). Ich benant radius hier r1. aber ich weiß nicht, wie ich mein Programm dazu bringen soll, diese Frage zu stellen, es funktioniert nicht, nachdem es gefragt habe, ob f bekannt ist oder nicht.

Grüße

Bild zum Beitrag
Programm, programmieren, Kreis, Informatik, Python

Meistgelesene Beiträge zum Thema Programm