Globale Variablen können dir in größeren Projekten einen Strich durch die Rechnung machen wenn diese dann "falsch" oder nicht beabsichtigt überschrieben wird.

Dadurch kann es zu vielen Fehlern kommen.

Sinnvoll ist immer lokal zu arbeiten also kleiner Zugriffsradius. Sofern aber benötigt oder sinnvoller soviel wie benötigt.

Ich nutze Globals eigentlich nur wenn die variablen zum Beispiel bei pygame ein Surface ist und ich diesen ohne Probleme überall nutzen will. Eben gleiches gilt dann auch für die Parameter die bei laufzeit verändert werden sollen.

Wann und wie du diese nutzt musst du selber wissen und im Endeffekt gibt es da kein Richtig oder Falsch wenn es läuft. Bedenke aber wie bereits erwähnt bei größeren Projekten kann es dadurch Probleme geben.

...zur Antwort

wofür min max?

einfach alles miteinander addieren und für jede addition nen counter laufen lassen dann summe durch counter easy.

liste = [25,51]
sum = 0
for nr,add in enumerate(liste):
  sum += add
sum = sum / (nr+1)
print(sum)

müsste so jetzt funktionieren.

...zur Antwort

Schau dir mal an welchen Inhalt die variable trägt.

Der Inhalt von sys.argv[0] ist immer der Dateiname somit klar das es nicht funktioniert wenn du dem Programm Kauderwelsch übergibst welches nicht versteht.

Also versuche es mit sys.argv[1] und darauf überprüfe aber erst ob die variable da es eine Liste ist überhaupt 2 lang ist.

if len(sys.argv) < 2:
  sys.exit()

Überprüfe auch am besten nochmal ob es sich überhaupt um eine Zahl handelt.

...zur Antwort

Geht jetzt nicht direkt ums Thema aber..

ich hätte ich den Code noch einiges verkürzt um ein wenig Übersichtlichkeit zu schaffen:

alle Konstanten in eine Reihe,

das zweite print weg und eine neue Zeile mit eine Escape Sequenz machen "\n" ansonsten so:

 f"""
Ich bin ein Text:
{IP}
{sys.argv}

Hier sparst du dir die Escape Sequenzen sofern du im Editor auch immer eine Zeile nach unten gehst.

"""

die imports in eine Reihe

sys.argv brauchst du eigentlich nicht extra in eine neue variable legen.

Und weil ich piki und Deutsch bin du hast "Phyton" geschrieben im ersten Bild auf dem ersten Task beim Ordner ist es sichtbar xD

...zur Antwort

List Index out of range bedeutet das der Platz in einer Liste nicht erreichbar ist.

Dementsprechend falls der User keine oder unzureichende Argumente angibt:

import sys
maxnr = 2
try:
    for nr, i in enumerate(sys.argv):
      chk = i #0 Ist IMMER der Dateipfad und Name
      if nr == maxnr:
        break
except:
    print("Unzureichende Argumente!")
    sys.exit()
...zur Antwort
Ganz einfach:

#Speichern
f = open("save.txt","a",encoding="utf-8")
for i in liste:
    f.write(str(i) + ":")
f.close()

#Laden
liste = []
with open("save.txt",encoding="utf-8") as file:
    for line in file:
        liste.append(line.split("\n")[0])

Man könnte daran noch ordentlich was machen aber es läuft.

...zur Antwort

auto-py-to-exe wäre eine Möglichkeit das ganze umzusetzen.

Damit wäre es so nicht mehr möglich den Code zu bearbeiten und du brauchst dann auch nicht mehr Python installiert haben um es auszuführen.

Im letzten Punkt kann ich mich allerdings auch irren! Ich bin auch grade zu faul meinen Dampfbetriebenen Laptop aus dem Schrott zu holen.

...zur Antwort
...zur Antwort

Ich kann dir sagen:

Ich arbeite selbst derzeit mit python und pygame und ja das kannst du tun und das wäre auch durchaus empfehlenswert um eine Sprache noch besser kennenzulernen. Von meiner Seite ich programmiere seit 2 Wochen davon 5 Tage an dem Spiel und naja hab einiges gelernt unter anderem:

Optimierung, Kollisionserkennung und naja in meinem Fall habe ich tatsächlich das erste mal wirklich Klassen und Funktionen nutzen müssen.

Es ist durchaus Sinnvoll ja wenn allerdings mehr als ein kleines Indigame 2D,3D drin sein soll dann musst du bei python ordentlich ackern.

Da kommt es ganz darauf an was möchtest du für ein Spiel machen?

Also ich zum Beispiel arbeite grade an einem Mix aus Space Invaders und Flappy Bird und dafür reichts auf jeden Fall.

Aber selbst hier zum Beispiel sitzt die Framerate dank Cpu Limitation und nicht genug Erfahrung im Keller:

Bild zum Beitrag

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.