Es gibt gute Aufgaben aus der Github library https://github.com/karan/Projects. Wenn man nicht mehr weiter weiß, dann man entweder auf der Website w3schools oder Stack Overflow nach Lösungsansätzen suchen oder in Foren wie Gutefrage oder r/learnpython nach Lösungsvorschlägen fragen.

...zur Antwort

Du könntest das Split erst später und dann mit dem spezifischen Operator verwenden, um abzufragen um welchen Operator es sich handelt und die Zahl aus der Rechnung zu extrahieren.

while True:

    rechnung = input("Geben Sie die Rechnung ein\n")

    if '+' in rechnung:
        rechnung = rechnung.split("+")
        print(rechnung[0], '+', rechnung[1], '= ', float(rechnung[0]) + float(rechnung[1]))
    elif '-' in rechnung:
        rechnung = rechnung.split("-")
        print(rechnung[0], '-', rechnung[1], '= ', float(rechnung[0]) - float(rechnung[1]))
    elif '*' in rechnung:
        rechnung = rechnung.split("*")
        print(rechnung[0], '*', rechnung[1], '= ', float(rechnung[0]) * float(rechnung[1]))
    elif '/' in rechnung:
        rechnung = rechnung.split("/")
        print(rechnung[0], '/', rechnung[1], '= ', float(rechnung[0]) / float(rechnung[1]))
    else:
        print("Falsche Eingabe")

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

einfach alle gleichen Buchstaben zusammenrechnen.

4y + 7 + 10y - 5 = 14y + 2
y  + 5x - 8x + 6y + 6x  = 7y + 3x

Und du darfst halt keine Buchstaben zusammenrechnen, welche nicht den selben Buchstaben haben.

Also z.B. mit einem separaten Rechenweg

4y + 7 + 10y - 5
= 4y + 10y + 7 - 5
= 14y + 2

Ich hoffe ich konnte dir weiterhelfen

LG

...zur Antwort

Ich habe zwar noch nie mit Kara gearbeitet, aber ich würde das Problem eher mit Reihen und nicht mit Umdrehungen lösen. Das wäre um einiges einfacher, da Kara nur ein geringes Sensorraster hat und man nur schwer lokalisieren kann, wo man sich gerade befindet.

Ich habe für dich mal ein Beispielscript zusammengeschrieben.

def backwards():
    if kara.treeLeft() and kara.treeFront():
        return True
    for i in range(2):
        kara.turnLeft()
    while not kara.treeFront():
        kara.move()
    kara.turnRight()
    kara.move()
    kara.turnRight()
        
def row():
    while kara.onLeaf() and not kara.treeFront():
        kara.removeLeaf()
        kara.move()
    if kara.onLeaf():
        kara.removeLeaf()
   
kara.move()
kara.move()
kara.turnLeft()

for i in range(2):
    while not kara.treeFront():
      kara.move()
    kara.turnRight()
kara.turnRight()

end = False
while not end:
    row()
    end = backwards()

Es ist zwar nicht perfekt, aber du kannst vielleicht die Theorie dahinter verstehen (man kann bestimmt auch deine Methode verwenden, aber es ist schwieriger) und so auch dein eigenes Programm schreiben.

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

Bei Python gibt es die Funktion eval( ). Diese schaut auf den String und interpretiert es, als wäre es eine Rechnung. Das wäre glaube ich die beste Option für dein Problem.

import random

lst = ["Was ergibt: 17*3+5*2", "Was ist das Ergebnis von: 12*11+15 ", "Sag mir das Ergebnis von: ((19-1+2)*3+20)*4 "]

x = random.randint(0, len(lst)-1)
v = lst[x].split(":")[1].strip()

print(f"Ergebnis: {v} = {eval(v)}")

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

Dein Problem ist, dass du die Portionen nicht als Zahl sondern als String angegeben hast. Außerdem ist das mit der Liste irgendwie unnötig. Du kannst es z.B. so machen:

import time
time.sleep (2)
print ("Du willst kochen? Dann bist du hier genau richtig")
Rezepte = ["(1) Waffeln", "(2) Crépe","(3) Himbeer Eis","(4) Erdbeer Eis"]
time.sleep(2)

print ("Wir haben die Rezepte ")
for x in Rezepte:
    print (x)
    time.sleep(0.5)


print("Gib die jeweilige Zahl des Rezeptes ein.")
auswahl = input("Rezept: ")

if int(auswahl) == 1:
    print ("Super, du hast das Rezept der Waffeln ausgewählt")
    time.sleep (1)
    print ("Wie viele Leute essen mit?")
    portionen  = int(input())
    print(f"""Man braucht für {portionen} Portionen:
    {portionen * 1} Eier
    {portionen * 200} g Mehl
    {portionen * 50} g Zucker
    """)

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

Ich weiß jetzt nicht, welche Datasets du brauchst, aber du wirst bestimmt fündig, wenn du danach suchst und es ein wenig bekannter ist (z.B. Autos oder Zahlen). Wenn du nicht fündig wirst, dann kannst du mein Script verwenden, welches ich dir kurz zusammengeschustert habe.

from selenium import webdriver
from bs4 import BeautifulSoup
import urllib.request

download = input("Welches Bild möchtest du herunterladen? ")
ammount = int(input("Wie viele Bilder möchtest du herunterladen? "))
site = 'https://www.google.com/search?tbm=isch&q='+download

driver = webdriver.Chrome(executable_path = r'Pfad zu der .exe datei\chromedriver.exe') 
#chromedriver.exe ist ein externer Browserdriver, welcher für Chrome verwendet wird
#man kann ihn von der website: "https://chromedriver.chromium.org/downloads" herunterladen
#https://www.softwaretestinghelp.com/chromedriver-selenium/

driver.get(site)
driver.find_element("xpath","//span[text()='Alle akzeptieren']").click()

i = 1
boolean = True
while boolean:
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    img_tags = soup.find_all("img", class_="rg_i")
    for item in img_tags:
        try:
            urllib.request.urlretrieve(item['src'], r"Pfad wo die Bilder gespeichert werden sollen \{}.jpg".format(download)) #pfad, wo die bilder gespeichert werden sollen
            i += 1
        except Exception as e:
            pass
        if i > ammount:
            boolean = False
            break
    driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

driver.close()

Diese Script macht, dass es auf Google Images geht und die ersten Bilder herunterladet. Ich würde trotzdem durch die Bilder gehen, da es immer sein kann, dass es Bilder gibt, welche nicht das Kriterium erfüllen (deshalb würde ich erst auf "richtige" Datasets zugreifen, bis man welche aus dem Web verwendet)

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

Das ist der Debugg-Modus von vs-code. Aber eigentlich sollte das Programm normal laufen. Wenn du den Debugg-Modus ausschalten möchtest, dann kannst du bei dem Start-Symbol den normalen Modus einschalten

Bild zum Beitrag

Vielleicht kannst du ja den Code zur Verfügung stellen, da warscheinlich dort der Fehler liegt.

LG

...zur Antwort
XBox Series X

Die Xbox ist im großen und ganzen der Playstation überlegen. Sie ist billiger, nicht ausverkauft und hat bessere Specs. Zudem hat nur die Xbox den Game Pass, welcher über 400 Spiele beinhaltet (+ man bekommt alle neuen Spiele von Microsoft ab Tag 1 ohne Aufpreis im Game Pass).

Also würde ich dir eher die Xbox empfehlen.

LG

...zur Antwort

Du könntest vielleicht mit einem Rasperry-Py dein eigenes Smart-Home aufbauen und es mit einer App und/oder einem Sprachassistenten steuern kannst.

Ein weiterer Gedanke wäre, dass du vielleicht was mit Proxys machst und dann sowas wie ein Py-Hole programmierst und aufsetzt.

Das wären gerade meine Überlegungen. Wenn mir noch weitere einfallen ergänze ich es in den Kommentaren.

LG

...zur Antwort

Bei Terraria wird zufällig die Erze (wie Kupfer/Zinn oder Gold/Platin) und die Biome (Crimson/Corruption) verteilt.

Da man nicht so ein Nachteil von den Erzen haben soll kann man entweder Kupfer oder Zinn verwenden.

Ich hoffe ich konnte dir weiterhelfen.

LG

...zur Antwort

Wenn du nur automatisch verschiedene nachrichten schreiben, dann würde ich die Libary keyboard empfehlen. Mit der Libary kannst du ganz einfach die Nachricht über eine simulierte Tastatur schreiben.

import keyboard
keyboard.write("Hello world")

Wenn du es nur für den Browser brauchst und es du es effizienter haben möchtest (also kann in mehreren Tabs gleichzeitig, muss nicht offen sein), dann kann ich dir Selenium empfehlen (es ist ein wenig aufwendiger, aber es lohnt sich).

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort

Vielleicht ist das Problem, dass du den gleichen Namen für die Variable und der Funktion gebommen hast. Zudem bringt Sekunden + q nichts, da du die Varuable nicht nochmals abgespeichert hast(also Sekunde += 1 oder Sekunde = Sekunde + 1).

Zudem würde ich nicht globale sondern lokale Variablen verwenden. Da könnte auch der Fehler liegen. Also am besten die Variable in der Funktion definieren.

Ich hoffe ich konnte dir weiterhelfen.

LG

...zur Antwort

Dein Problem bei deinem Programm ist, dass es die falschen Datentypen verwendet. Bei Geld bietet sich Float am besten an, da es ja auch sein kann, dass es mit einem Komma ist.

Bei der Klimaanlage kann man den Typ bool( ) verwenden, aber ich würde dir eher raten, dass man ein deutsches Wort eingeben kann (und mit .lower( ) kleingeschrieben wird, un groß und Kleinschreibung zu vernachlässigen)

Zudem ist mir bei deinem Code aufgefallen, dass du Klimaanlage== True machst, was unnötig ist, da Klimaanlage schon ein boolean ist.

Wenn man das verbessert würde es so aussehen.

autopreis=float(input("Geben sie den Autopreis an "))

klimaanlage=input("Geben sie an ob eine Klimaanlage verbaut ist(ja/nein)").lower() == "ja"

if autopreis < 20000 and klimaanlage:      
     print("Auto kaufen")

elif autopreis > 20000 and klimaanlage:
    print("Auto wird nicht gekauft weil es zu teuer ist")

elif autopreis < 20000 and not klimaanlage:
   print("Auto wird nicht gekauft weil es keine Klimaanlage besitzt")
else:
   print("Auto wird nicht gekauft weil es zu teuer ist und keine Klimaanlage besitzt")

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast kannst du sie einfach stellen.

LG

...zur Antwort

Dein Fehler liegt daran, dass er nicht weiß, in welcher DIscord-Server er den Text-Channel kreieren soll. Also wenn du den Kanal in den gleichen Server machen möchtest, dann musst du noch message angeben:

await message.guild.create_text_channel('Python 3.9')

Wenn du auf einen bestimmten Server den Kanal hinzufügen möchtest, dann kann du es auch direkt definieren.

client.get_guild(ID)

Mir ist mir ein paar Problem bei deinem Code aufgefallen. Wenn du while 5 > 1: machst und kein Abbruchmechanismus einbaust, dann wird es eine Endlosschleife.

Ein weiterer Fehler ist, dass du mit time.sleep die Zeit abwartest. Aber da es eine Asynkrone Funktion ist, kann in dieser Zeit kein weiterer Befehl ausgeführt werden. Ich würde dir bei deinem Code eher

import asyncio

await asyncio.sleep(1)

empfehlen.

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

...zur Antwort