VokabelTrainer

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Benutzeravatar
TutorialMichel
User
Beiträge: 10
Registriert: Samstag 4. Juni 2016, 15:08

Hallöchen,
ich habe vor einiger Zeit einen VokabelTrainer geschrieben der nur unter Mac funktioniert!! :oops: !!
Er war bis jetzt Privat aber jetzt veröffentliche ich ihm :) !
(Den Installierer :D )
Danke an die Tatkräftige Unterstützung meines Vaters!
Also viel Spaß damit!
MfG. TutorialMichel(TM)

Code: Alles auswählen

import subprocess
import time
def install1():
    print "Phase 1 (1/3)"
    subprocess.call(['mkdir Vokabeln'],shell=True)
    subprocess.call(['mkdir Vokabeln/Aktuell'],shell=True)
    subprocess.call(['mkdir Vokabeln/Sprachen'],shell=True)
    install2()
def install2():
    print "Phase 2 (2/3)"
    help_file = open('Vokabeln/ReadMe.txt', 'w')
    help_file.write('Aufgrund eines Fehlers(nicht von uns) ist es nicht moeglich das in den Dateien Zeilen umbrueche drin sind! Vor den benutzten der Python Dateien bitte die Dateinen nach verdaechtigen zeilen umbruechen pruefen! LG Lion Install')
    help_file.close()
    install3()
def install3():
    print "Phase 3 (3/3)"
    vokabel_file = open('Vokabeln/Vokabeln.py', 'w')
    vokabel_file.write('import subprocess\n')
    vokabel_file.write('import time\n')
    vokabel_file.write('hi = 0\n')
    vokabel_file.write('def main():\n')
    vokabel_file.write('    print "###############################"\n')
    vokabel_file.write('    print "## 1) Vokabeln Wiederholen   ##"\n')
    vokabel_file.write('    print "## 2) Vokabeln Laden         ##"\n')
    vokabel_file.write('    print "## 3) Vokabeln Editieren     ##"\n')
    vokabel_file.write('    print "## 4) Mikwirkenden           ##"\n')
    vokabel_file.write('    print "## 5) Exit                   ##"\n')
    vokabel_file.write('    print "###############################"\n')
    vokabel_file.write('    eingabe = raw_input("Zahl: ")\n')
    vokabel_file.write('    if eingabe == "1" or eingabe == "2" or eingabe == "3" or eingabe == "4" or eingabe == "5" or eingabe == "9924":\n')
    vokabel_file.write('        if eingabe == "1":\n')
    vokabel_file.write('            start()\n')
    vokabel_file.write('        if eingabe == "2":\n')
    vokabel_file.write('            load()\n')
    vokabel_file.write('        if eingabe == "3":\n')
    vokabel_file.write('            edit()\n')
    vokabel_file.write('        if eingabe == "4":\n')
    vokabel_file.write('            mitwirkende()\n')
    vokabel_file.write('        if eingabe == "5":\n')
    vokabel_file.write('            exit()\n')
    vokabel_file.write('        if eingabe == "9924":\n')
    vokabel_file.write('            admin()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Unbekannte Eingabe!"\n')
    vokabel_file.write('        time.sleep(0.5)\n')
    vokabel_file.write('        main()\n')
    vokabel_file.write('def load():\n')
    vokabel_file.write('    laden_read1 = ""\n')
    vokabel_file.write('    laden_read2 = ""\n')
    vokabel_file.write('    laden_file1 = open(".read1", "w")\n')
    vokabel_file.write('    laden_file2 = open(".read2", "w")\n')
    vokabel_file.write('    laden_file1.close()\n')
    vokabel_file.write('    laden_file2.close()\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen ; ls > ../.read1"],shell=True)\n')
    vokabel_file.write('    print "Bitte gebe die Sprache ein:"\n')
    vokabel_file.write('    laden_file1 = open(".read1", "r")\n')
    vokabel_file.write('    laden_read1 = laden_file1.read()\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    print laden_read1\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    laden_sprache = raw_input("Sprache: ")\n')
    vokabel_file.write('    print "Bitte gebe den Namen des Ordners ein:"\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen/" + str(laden_sprache) + " ; ls > ../../.read2"],shell=True)\n')
    vokabel_file.write('    laden_file2 = open(".read2", "r")\n')
    vokabel_file.write('    laden_read2 = laden_file2.read()\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    print laden_read2\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    laden_ordner = raw_input("Ordner: ")\n')
    vokabel_file.write('    laden_ordner = laden_ordner.strip("/")\n')
    vokabel_file.write('    laden_ordner = laden_ordner + str("/")\n')
    vokabel_file.write('    laden_sprache = laden_sprache.strip("/")\n')
    vokabel_file.write('    laden_sprache = laden_sprache + str("/")\n')
    vokabel_file.write('    laden_ins = "Sprachen/" + laden_sprache + laden_ordner\n')
    vokabel_file.write('    test1 = open("" + str(laden_ins) + "fragen.txt", "r")\n')
    vokabel_file.write('    test2 = open("" + str(laden_ins) + "antworten.txt", "r")\n')
    vokabel_file.write('    test1.close()\n')
    vokabel_file.write('    test2.close()\n')
    vokabel_file.write('    subprocess.call(["cp " + str(laden_ins) + "antworten.txt Aktuell/"],shell=True)\n')
    vokabel_file.write('    subprocess.call(["cp " + str(laden_ins) + "fragen.txt Aktuell/"],shell=True)\n')
    vokabel_file.write('    print "Geladen!"\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def edit():\n')
    vokabel_file.write('    print "Sprache erstelllen oder Vokabeln?(s/v):"\n')
    vokabel_file.write('    edit_ant = raw_input("(s/v): ")\n')
    vokabel_file.write('    if edit_ant == "s" or edit_ant == "v":\n')
    vokabel_file.write('        if edit_ant == "s":\n')
    vokabel_file.write('            edit1()\n')
    vokabel_file.write('        if edit_ant == "v":\n')
    vokabel_file.write('            edit2()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Ungueltige Eingabe!"\n')
    vokabel_file.write('        main()\n')
    vokabel_file.write('def edit1\n')
    vokabel_file.write('    edit___sprache = raw_input("Sprache: ") + str("/")\n')
    vokabel_file.write('    subprocess.call(["mkdir Sprachen/" + str(edit___sprache)],shell=True)\n')
    vokabel_file.write('    print "Fertig!"\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def edit2\n')
    vokabel_file.write('    print "In welcher Sprache sollen die Vokabeln sein?"\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen/ ; ls > ../.edit1"],shell=True)\n')
    vokabel_file.write('    edit__edit__file2 = open(".edit1", "r")\n')
    vokabel_file.write('    edit__edit1 = edit__edit__file2.read()\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    print edit__edit1\n')
    vokabel_file.write('    print "##########################\n"\n')
    vokabel_file.write('    edit_sprache = raw_input("Sprache: ") + str("/")\n')
    vokabel_file.write('    print "Wie sollen die Vokabeln heissen?"\n')
    vokabel_file.write('    edit_folder = raw_input("Datei: ") + str("/")\n')
    vokabel_file.write('    edit_folder = edit_sprache + edit_folder\n')
    vokabel_file.write('    subprocess.call(["mkdir Sprachen/" + str(edit_folder)],shell=True)\n')
    vokabel_file.write('    edit_file1 = open("Sprachen/"+ str(edit_folder) + "fragen.txt", "a")\n')
    vokabel_file.write('    edit_file2 = open("Sprachen/"+ str(edit_folder) + "antworten.txt", "a")\n')
    vokabel_file.write('    vok = raw_input("Wieviele Vokabeln? : ")\n')
    vokabel_file.write('    vok = int(vok)\n')
    vokabel_file.write('    edit_zahler = 0\n')
    vokabel_file.write('    for dadadadaddafefdad in range(vok):\n')
    vokabel_file.write('        edit_zahler += 1\n')
    vokabel_file.write('        edit_antwort = raw_input("Antwort(" + str(edit_zahler) + "): ") + str("\n")\n')
    vokabel_file.write('        if edit_antwort == "exit()\n":\n')
    vokabel_file.write('            edit_file1.close()\n')
    vokabel_file.write('            edit_file2.close()\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('        edit_frage = raw_input("Frage(" + str(edit_zahler) + "): ") + str("\n")\n')
    vokabel_file.write('        if edit_antwort == "exit()\n":\n')
    vokabel_file.write('            edit_file1.close()\n')
    vokabel_file.write('            edit_file2.close()\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('        edit_file1.write(edit_frage)\n')
    vokabel_file.write('        edit_file2.write(edit_antwort)\n')
    vokabel_file.write('    edit_file1.close()\n')
    vokabel_file.write('    edit_file2.close()\n')
    vokabel_file.write('    print "Fertig! Deine Vokabeln sind nun in den Ordner:",edit_folder\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def ingame():\n')
    vokabel_file.write('    a = open("Aktuell/fragen.txt", "r")\n')
    vokabel_file.write('    b = open("Aktuell/antworten.txt", "r")\n')
    vokabel_file.write('    c = open("Aktuell/.falschfragen.txt", "w")\n')
    vokabel_file.write('    d = open("Aktuell/.falschantworten.txt", "w")\n')
    vokabel_file.write('    z = 0\n')
    vokabel_file.write('    richtig = 0\n')
    vokabel_file.write('    falsch = 0\n')
    vokabel_file.write('    sprache = "english"\n')
    vokabel_file.write('    anttest = 0\n')
    vokabel_file.write('    aa = "w"\n')
    vokabel_file.write('    bb = "w"\n')
    vokabel_file.write('    frag = "w"\n')
    vokabel_file.write('    ingame_file1 = open("Aktuell/antworten.txt", "r")\n')
    vokabel_file.write('    ingame_file2 = open("Aktuell/fragen.txt", "r")\n')
    vokabel_file.write('    while(1):\n')
    vokabel_file.write('        falscheingabe = 0\n')
    vokabel_file.write('        bb = ingame_file1.readline()\n')
    vokabel_file.write('        aa = ingame_file2.readline()\n')
    vokabel_file.write('        aa = aa.strip("\n")\n')
    vokabel_file.write('        bb = bb.strip("\n")\n')
    vokabel_file.write('        if aa == "\n" or bb == "\n":\n')
    vokabel_file.write('            print "[!] Fehler! Etwas mit den Dateien Stimmt nicht!"\n')
    vokabel_file.write('            print "[Info] Leere Zeile gefunden. Wird uebersprungen!"\n')
    vokabel_file.write('            falscheingabe = 1\n')
    vokabel_file.write('        if aa == "" or bb == "":\n')
    vokabel_file.write('            break\n')
    vokabel_file.write('        if falscheingabe == 0:\n')
    vokabel_file.write('            print "Was bedeutet folgendes auf",sprache,":",aa\n')
    vokabel_file.write('            anttest = raw_input("Antwort: ")\n')
    vokabel_file.write('            if anttest == "9924":\n')
    vokabel_file.write('                anttest = bb\n')
    vokabel_file.write('            if anttest == "exit()":\n')
    vokabel_file.write('                exit()\n')
    vokabel_file.write('            if anttest == bb:\n')
    vokabel_file.write('                print "Richtig!"\n')
    vokabel_file.write('                richtig += 1\n')
    vokabel_file.write('            else:\n')
    vokabel_file.write('                print "Falsch!"\n')
    vokabel_file.write('                falsch += 1\n')
    vokabel_file.write('                c.write(aa)\n')
    vokabel_file.write('                d.write(bb)\n')
    vokabel_file.write('                print "Richtig war:",bb\n')
    vokabel_file.write('    print "Du hast",falsch,"Falsch beantwortet!"\n')
    vokabel_file.write('    print "Du hast",richtig,"Richtig beantwortet!"\n')
    vokabel_file.write('    speichern = raw_input("Speichern?(j/n): ")\n')
    vokabel_file.write('    if speichern == "j":\n')
    vokabel_file.write('        subprocess.call(["mv Aktuell/.falschantworten.txt antworten.txt"],shell=True)\n')
    vokabel_file.write('        subprocess.call(["mv Aktuell/.falschfragen.txt fragen.txt"],shell=True)\n')
    vokabel_file.write('        werbung()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        werbung()\n')
    vokabel_file.write('def admin():\n')
    vokabel_file.write('    print "Mit >>> exit <<< koennt ihr zurueck!"\n')
    vokabel_file.write('    print "Laden erzwingen:"\n')
    vokabel_file.write('    print " 1) Vokabeln Wiederholen(1)"\n')
    vokabel_file.write('    print " 2) Vokabeln Laden(2)"\n')
    vokabel_file.write('    print " 3) Vokabeln Editieren(3)"\n')
    vokabel_file.write('    admineingabe = raw_input("Zahl: ")\n')
    vokabel_file.write('    if admineingabe == "1" or admineingabe == "2"  or admineingabe == "3" or admineingabe == "9924" or admineingabe == "exit":\n')
    vokabel_file.write('        if admineingabe == "1":\n')
    vokabel_file.write('            start()\n')
    vokabel_file.write('        if admineingabe == "2":\n')
    vokabel_file.write('            load()\n')
    vokabel_file.write('        if admineingabe == "3":\n')
    vokabel_file.write('            edit()\n')
    vokabel_file.write('        if admineingabe == "9924":\n')
    vokabel_file.write('            admin()\n')
    vokabel_file.write('        if admineingabe == "exit":\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Unbekannte Eingabe!"\n')
    vokabel_file.write('        admin()\n')
    vokabel_file.write('def error():\n')
    vokabel_file.write('    print "Ein Fehler ist aufgetreten oder"\n')
    vokabel_file.write('    print "die Funktion wird noch eingebaut!"\n')
    vokabel_file.write('    time.sleep(3)\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def werbung():\n')
    vokabel_file.write('    print "#########################################################################"\n')
    vokabel_file.write('    print "##                             TutorialMichel                          ##"\n')
    vokabel_file.write('    print "## https://www.python-forum.de/memberlist.php?mode=viewprofile&u=17478 ##"\n')
    vokabel_file.write('    print "#########################################################################"\n')
    vokabel_file.write('    print "Weiter in:",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "5",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "4",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "3",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "2",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "1",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "0",\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def mitwirkende():\n')
    vokabel_file.write('    print "Lion Companie\n')
    vokabel_file.write('    time.sleep(2)\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('werbung()\n')
    vokabel_file.close()
    install4()
def install4():
    print "Finish!"
install1()
₪฿௹₥₪ ฿௹₥₪ ฿௹₥₪฿௹₥₪฿ ௹₥₪฿ ௹₥₪฿௹₥₪฿ ௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥ ₪฿௹₥ ₪฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿௹₥₪฿ ௹₥₪฿௹ ₥₪ ฿௹₥₪ ฿௹₥₪฿௹₥₪ ฿ ௹₥₪฿ ௹₥₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿ ௹₥₪ ฿௹₥₪฿௹₥₪฿௹₥₪฿௹₥ ₪฿௹ ₥₪฿௹₥₪฿ ௹₥
Benutzeravatar
TutorialMichel
User
Beiträge: 10
Registriert: Samstag 4. Juni 2016, 15:08

Alte Version mit Fehler! Neue Version!

Code: Alles auswählen

import subprocess
import time
def install1():
    print "Phase 1 (1/3)"
    subprocess.call(['mkdir Vokabeln'],shell=True)
    subprocess.call(['mkdir Vokabeln/Aktuell'],shell=True)
    subprocess.call(['mkdir Vokabeln/Sprachen'],shell=True)
    install2()
def install2():
    print "Phase 2 (2/3)"
    help_file = open('Vokabeln/ReadMe.txt', 'w')
    help_file.write('Aufgrund eines Fehlers(nicht von uns) ist es nicht moeglich das in den Dateien Zeilen umbrueche drin sind! Vor den benutzten der Python Dateien bitte die Dateinen nach verdaechtigen zeilen umbruechen pruefen! LG Lion Install')
    help_file.close()
    install3()
def install3():
    print "Phase 3 (3/3)"
    vokabel_file = open('Vokabeln/Vokabeln.py', 'w')
    vokabel_file.write('import subprocess\n')
    vokabel_file.write('import time\n')
    vokabel_file.write('hi = 0\n')
    vokabel_file.write('def main():\n')
    vokabel_file.write('    print "###############################"\n')
    vokabel_file.write('    print "## 1) Vokabeln Wiederholen   ##"\n')
    vokabel_file.write('    print "## 2) Vokabeln Laden         ##"\n')
    vokabel_file.write('    print "## 3) Vokabeln Editieren     ##"\n')
    vokabel_file.write('    print "## 4) Mikwirkenden           ##"\n')
    vokabel_file.write('    print "## 5) Exit                   ##"\n')
    vokabel_file.write('    print "###############################"\n')
    vokabel_file.write('    eingabe = raw_input("Zahl: ")\n')
    vokabel_file.write('    if eingabe == "1" or eingabe == "2" or eingabe == "3" or eingabe == "4" or eingabe == "5" or eingabe == "9924":\n')
    vokabel_file.write('        if eingabe == "1":\n')
    vokabel_file.write('            start()\n')
    vokabel_file.write('        if eingabe == "2":\n')
    vokabel_file.write('            load()\n')
    vokabel_file.write('        if eingabe == "3":\n')
    vokabel_file.write('            edit()\n')
    vokabel_file.write('        if eingabe == "4":\n')
    vokabel_file.write('            mitwirkende()\n')
    vokabel_file.write('        if eingabe == "5":\n')
    vokabel_file.write('            exit()\n')
    vokabel_file.write('        if eingabe == "9924":\n')
    vokabel_file.write('            admin()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Unbekannte Eingabe!"\n')
    vokabel_file.write('        time.sleep(0.5)\n')
    vokabel_file.write('        main()\n')
    vokabel_file.write('def load():\n')
    vokabel_file.write('    laden_read1 = ""\n')
    vokabel_file.write('    laden_read2 = ""\n')
    vokabel_file.write('    laden_file1 = open(".read1", "w")\n')
    vokabel_file.write('    laden_file2 = open(".read2", "w")\n')
    vokabel_file.write('    laden_file1.close()\n')
    vokabel_file.write('    laden_file2.close()\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen ; ls > ../.read1"],shell=True)\n')
    vokabel_file.write('    print "Bitte gebe die Sprache ein:"\n')
    vokabel_file.write('    laden_file1 = open(".read1", "r")\n')
    vokabel_file.write('    laden_read1 = laden_file1.read()\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    print laden_read1\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    laden_sprache = raw_input("Sprache: ")\n')
    vokabel_file.write('    print "Bitte gebe den Namen des Ordners ein:"\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen/" + str(laden_sprache) + " ; ls > ../../.read2"],shell=True)\n')
    vokabel_file.write('    laden_file2 = open(".read2", "r")\n')
    vokabel_file.write('    laden_read2 = laden_file2.read()\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    print laden_read2\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    laden_ordner = raw_input("Ordner: ")\n')
    vokabel_file.write('    laden_ordner = laden_ordner.strip("/")\n')
    vokabel_file.write('    laden_ordner = laden_ordner + str("/")\n')
    vokabel_file.write('    laden_sprache = laden_sprache.strip("/")\n')
    vokabel_file.write('    laden_sprache = laden_sprache + str("/")\n')
    vokabel_file.write('    laden_ins = "Sprachen/" + laden_sprache + laden_ordner\n')
    vokabel_file.write('    test1 = open("" + str(laden_ins) + "fragen.txt", "r")\n')
    vokabel_file.write('    test2 = open("" + str(laden_ins) + "antworten.txt", "r")\n')
    vokabel_file.write('    test1.close()\n')
    vokabel_file.write('    test2.close()\n')
    vokabel_file.write('    subprocess.call(["cp " + str(laden_ins) + "antworten.txt Aktuell/"],shell=True)\n')
    vokabel_file.write('    subprocess.call(["cp " + str(laden_ins) + "fragen.txt Aktuell/"],shell=True)\n')
    vokabel_file.write('    print "Geladen!"\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def edit():\n')
    vokabel_file.write('    print "Sprache erstelllen oder Vokabeln?(s/v):"\n')
    vokabel_file.write('    edit_ant = raw_input("(s/v): ")\n')
    vokabel_file.write('    if edit_ant == "s" or edit_ant == "v":\n')
    vokabel_file.write('        if edit_ant == "s":\n')
    vokabel_file.write('            edit1()\n')
    vokabel_file.write('        if edit_ant == "v":\n')
    vokabel_file.write('            edit2()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Ungueltige Eingabe!"\n')
    vokabel_file.write('        main()\n')
    vokabel_file.write('def edit1\n')
    vokabel_file.write('    edit___sprache = raw_input("Sprache: ") + str("/")\n')
    vokabel_file.write('    subprocess.call(["mkdir Sprachen/" + str(edit___sprache)],shell=True)\n')
    vokabel_file.write('    print "Fertig!"\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def edit2\n')
    vokabel_file.write('    print "In welcher Sprache sollen die Vokabeln sein?"\n')
    vokabel_file.write('    subprocess.call(["cd Sprachen/ ; ls > ../.edit1"],shell=True)\n')
    vokabel_file.write('    edit__edit__file2 = open(".edit1", "r")\n')
    vokabel_file.write('    edit__edit1 = edit__edit__file2.read()\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    print edit__edit1\n')
    vokabel_file.write('    print "##########################\\n"\n')
    vokabel_file.write('    edit_sprache = raw_input("Sprache: ") + str("/")\n')
    vokabel_file.write('    print "Wie sollen die Vokabeln heissen?"\n')
    vokabel_file.write('    edit_folder = raw_input("Datei: ") + str("/")\n')
    vokabel_file.write('    edit_folder = edit_sprache + edit_folder\n')
    vokabel_file.write('    subprocess.call(["mkdir Sprachen/" + str(edit_folder)],shell=True)\n')
    vokabel_file.write('    edit_file1 = open("Sprachen/"+ str(edit_folder) + "fragen.txt", "a")\n')
    vokabel_file.write('    edit_file2 = open("Sprachen/"+ str(edit_folder) + "antworten.txt", "a")\n')
    vokabel_file.write('    vok = raw_input("Wieviele Vokabeln? : ")\n')
    vokabel_file.write('    vok = int(vok)\n')
    vokabel_file.write('    edit_zahler = 0\n')
    vokabel_file.write('    for dadadadaddafefdad in range(vok):\n')
    vokabel_file.write('        edit_zahler += 1\n')
    vokabel_file.write('        edit_antwort = raw_input("Antwort(" + str(edit_zahler) + "): ") + str("\\n")\n')
    vokabel_file.write('        if edit_antwort == "exit()\\n":\n')
    vokabel_file.write('            edit_file1.close()\n')
    vokabel_file.write('            edit_file2.close()\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('        edit_frage = raw_input("Frage(" + str(edit_zahler) + "): ") + str("\\n")\n')
    vokabel_file.write('        if edit_antwort == "exit()\\n":\n')
    vokabel_file.write('            edit_file1.close()\n')
    vokabel_file.write('            edit_file2.close()\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('        edit_file1.write(edit_frage)\n')
    vokabel_file.write('        edit_file2.write(edit_antwort)\n')
    vokabel_file.write('    edit_file1.close()\n')
    vokabel_file.write('    edit_file2.close()\n')
    vokabel_file.write('    print "Fertig! Deine Vokabeln sind nun in den Ordner:",edit_folder\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def ingame():\n')
    vokabel_file.write('    a = open("Aktuell/fragen.txt", "r")\n')
    vokabel_file.write('    b = open("Aktuell/antworten.txt", "r")\n')
    vokabel_file.write('    c = open("Aktuell/.falschfragen.txt", "w")\n')
    vokabel_file.write('    d = open("Aktuell/.falschantworten.txt", "w")\n')
    vokabel_file.write('    z = 0\n')
    vokabel_file.write('    richtig = 0\n')
    vokabel_file.write('    falsch = 0\n')
    vokabel_file.write('    sprache = "english"\n')
    vokabel_file.write('    anttest = 0\n')
    vokabel_file.write('    aa = "w"\n')
    vokabel_file.write('    bb = "w"\n')
    vokabel_file.write('    frag = "w"\n')
    vokabel_file.write('    ingame_file1 = open("Aktuell/antworten.txt", "r")\n')
    vokabel_file.write('    ingame_file2 = open("Aktuell/fragen.txt", "r")\n')
    vokabel_file.write('    while(1):\n')
    vokabel_file.write('        falscheingabe = 0\n')
    vokabel_file.write('        bb = ingame_file1.readline()\n')
    vokabel_file.write('        aa = ingame_file2.readline()\n')
    vokabel_file.write('        aa = aa.strip("\\n")\n')
    vokabel_file.write('        bb = bb.strip("\\n")\n')
    vokabel_file.write('        if aa == "\\n" or bb == "\\n":\n')
    vokabel_file.write('            print "[!] Fehler! Etwas mit den Dateien Stimmt nicht!"\n')
    vokabel_file.write('            print "[Info] Leere Zeile gefunden. Wird uebersprungen!"\n')
    vokabel_file.write('            falscheingabe = 1\n')
    vokabel_file.write('        if aa == "" or bb == "":\n')
    vokabel_file.write('            break\n')
    vokabel_file.write('        if falscheingabe == 0:\n')
    vokabel_file.write('            print "Was bedeutet folgendes auf",sprache,":",aa\n')
    vokabel_file.write('            anttest = raw_input("Antwort: ")\n')
    vokabel_file.write('            if anttest == "9924":\n')
    vokabel_file.write('                anttest = bb\n')
    vokabel_file.write('            if anttest == "exit()":\n')
    vokabel_file.write('                exit()\n')
    vokabel_file.write('            if anttest == bb:\n')
    vokabel_file.write('                print "Richtig!"\n')
    vokabel_file.write('                richtig += 1\n')
    vokabel_file.write('            else:\n')
    vokabel_file.write('                print "Falsch!"\n')
    vokabel_file.write('                falsch += 1\n')
    vokabel_file.write('                c.write(aa)\n')
    vokabel_file.write('                d.write(bb)\n')
    vokabel_file.write('                print "Richtig war:",bb\n')
    vokabel_file.write('    print "Du hast",falsch,"Falsch beantwortet!"\n')
    vokabel_file.write('    print "Du hast",richtig,"Richtig beantwortet!"\n')
    vokabel_file.write('    speichern = raw_input("Speichern?(j/n): ")\n')
    vokabel_file.write('    if speichern == "j":\n')
    vokabel_file.write('        subprocess.call(["mv Aktuell/.falschantworten.txt antworten.txt"],shell=True)\n')
    vokabel_file.write('        subprocess.call(["mv Aktuell/.falschfragen.txt fragen.txt"],shell=True)\n')
    vokabel_file.write('        werbung()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        werbung()\n')
    vokabel_file.write('def admin():\n')
    vokabel_file.write('    print "Mit >>> exit <<< koennt ihr zurueck!"\n')
    vokabel_file.write('    print "Laden erzwingen:"\n')
    vokabel_file.write('    print " 1) Vokabeln Wiederholen(1)"\n')
    vokabel_file.write('    print " 2) Vokabeln Laden(2)"\n')
    vokabel_file.write('    print " 3) Vokabeln Editieren(3)"\n')
    vokabel_file.write('    admineingabe = raw_input("Zahl: ")\n')
    vokabel_file.write('    if admineingabe == "1" or admineingabe == "2"  or admineingabe == "3" or admineingabe == "9924" or admineingabe == "exit":\n')
    vokabel_file.write('        if admineingabe == "1":\n')
    vokabel_file.write('            start()\n')
    vokabel_file.write('        if admineingabe == "2":\n')
    vokabel_file.write('            load()\n')
    vokabel_file.write('        if admineingabe == "3":\n')
    vokabel_file.write('            edit()\n')
    vokabel_file.write('        if admineingabe == "9924":\n')
    vokabel_file.write('            admin()\n')
    vokabel_file.write('        if admineingabe == "exit":\n')
    vokabel_file.write('            main()\n')
    vokabel_file.write('    else:\n')
    vokabel_file.write('        print "Unbekannte Eingabe!"\n')
    vokabel_file.write('        admin()\n')
    vokabel_file.write('def error():\n')
    vokabel_file.write('    print "Ein Fehler ist aufgetreten oder"\n')
    vokabel_file.write('    print "die Funktion wird noch eingebaut!"\n')
    vokabel_file.write('    time.sleep(3)\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def werbung():\n')
    vokabel_file.write('    print "#########################################################################"\n')
    vokabel_file.write('    print "##                             TutorialMichel                          ##"\n')
    vokabel_file.write('    print "## memberlist.php?mode=viewprofile&u=17478 ##"\n')
    vokabel_file.write('    print "#########################################################################"\n')
    vokabel_file.write('    print "Weiter in:",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "5",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "4",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "3",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "2",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "1",\n')
    vokabel_file.write('    time.sleep(hi)\n')
    vokabel_file.write('    print "0",\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('def mitwirkende():\n')
    vokabel_file.write('    print "Lion Companie\n')
    vokabel_file.write('    time.sleep(2)\n')
    vokabel_file.write('    main()\n')
    vokabel_file.write('werbung()\n')
    vokabel_file.close()
    install4()
def install4():
    print "Finish!"
install1()
Zuletzt geändert von Anonymous am Sonntag 5. Juni 2016, 10:52, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
/me
User
Beiträge: 3552
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Soll das ein Installer für ein Programm sein? Dann wäre das mit dem Wort "ultimative Katastrophe" wohl noch sehr wohlwollend umschrieben.
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

@TutorialMichel: ein paar Anmerkungen.

zum Installer: Funktionen sind keine Sprungmarken. Wenn also Funktion A Funktion B aufruft und diese Funktion B, dann sind das mit großer Wahrscheinlichkeit eigentlich keine Funktionen. Besser eine main-Funktion, die dann install1, install2 usw. aufruft. install1, install2, usw. sind keine guten Namen, weil sie nicht ausdrücken, was eigentlich gemacht wird. Was ist denn der Unterschied zwischen install1 und install2? Wenn man subprocess.call mit shell=True aufruft erwartet das als ersten Parameter einen String und keine Liste. subprocess.call sollte man nicht mit shell=True aufrufen, sondern mit einer Liste als erstes Argument, wo jeder Parameter ein eigenes Listenelement ist. mkdir sollte man nicht als externes Programm aufrufen, sondern os.mkdir benutzen. Wenn man dann noch os.path.join zum Zusammensetzen von Pfaden benutzt, ist das auch nicht mehr Systemabhängig. Wenn man mehere Zeilen ausgeben will, bietet es sich an, einen mehrzeiligen Stringliteral (""" oder ''') zu benutzen.

zum Vokabeltrainer: Funktionen sind keine Sprungmarken. Rekursion ist kein Ersatz für eine Schleife.
Zeile 13: statt der vielen or-Verknüpfungen bietet sich der in-Operator an.
Zeile 14ff: da sich die einzelnen if-Abfragen gegenseitig ausschließen, kannst Du elif benutzen, dann schließt sich auch ganz natürlich das else in Zeile 26 an und Zeile 13 entfällt.
Zeile 29: Rekursion ist kein Ersatz für eine Schleife.
Zeile 31/32: Vorinitialisieren von Variablen ist unnötig
Zeile 33ff: Das Erzeugen der Dateien ist unnötig, da sie später sowieso erzeugt werden.
Zeile 37ff: statt das externe Programm ls aufzurufen gibt es os.listdir. Das ist zudem systemunabhängig.
Zeile 46: statt Pfade mit + zusammenzustückeln gibt es os.path.join. Das ist zudem systemunabhängig. Zu subprocess.call siehe oben.
Zeile 52-57: es gibt os.path.join
Zeile 58ff: häh?
Zeile 62f: es gibt shutil.copyfile und Du weißt schon, das ist zudem systemunabhängig. Aber was soll das kopieren überhaupt bringen?
Zeile 77: SyntaxFehler
Zeile 78: was soll der str-Aufruf auf einen literalen String bewirken?
Zeile 79-218: s.o.
Zeile 100: Warum hast Du eine Schleifenvariable dadadadaddafefdad wenn Du zusätzlich noch edit_zahler von Hand zählst?
Zeile 102: statt Strings mit + zusammenzustückeln gibt es Stringformatierung
Zeile 104, 109: break benutzen um die Schleife zu verlassen
Zeile 119: Durchnummerierte Variablennamen und welche die ein bis zwei edit_-Präfixe haben sind schon schlecht, aber einbuchstabige und doppeleinbuchstabige Namen sind doppelt einfach nur schlecht. Namen sollen dem Leser sagen, was die Variable beinhaltet. a und b werden nie benutzt und die Dateien werden allesamt nie geschlossen.
Zeile 133,142,145: es gibt Wahrheitswerte True und False
Zeile 139: das ist nie wahr.
Zeile 158: der Dateiinhalt ist fehlerhaft.
Zeile 165: es gibt os.rename und das ist zudem systemunabhängig.
Zeile 167, 169: wenn etwas sowohl am Ende des if-Zweigs als auch am Ende des else-Zweigs steht, kann man es auch *einmal* nach dem Block schreiben.

Ein paar Leerzeilen zwischen den Funktionen täte der Lesbarkeit gut.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Der Installer laesst mich sprachlos zurueck.

Aber da du so sehr betonst, dass es nur mit einem Mac OS funktioniert: Das ist unnoetig. Sirius3 hat schon zur Genuege erklaert, warum deine Benutzung von `subprocess` falsch ist. Daneben ist sie noch unnoetig: Die Module `os` und `shutil` bringen alles mit, was du brauchst.
Benutzeravatar
TutorialMichel
User
Beiträge: 10
Registriert: Samstag 4. Juni 2016, 15:08

cofi hat geschrieben:Der Installer laesst mich sprachlos zurueck.

Aber da du so sehr betonst, dass es nur mit einem Mac OS funktioniert: Das ist unnoetig. Sirius3 hat schon zur Genuege erklaert, warum deine Benutzung von `subprocess` falsch ist. Daneben ist sie noch unnoetig: Die Module `os` und `shutil` bringen alles mit, was du brauchst.
Ja, aber mein Vater programmiert mir Bash.. er will wenigsten meine Skripte ein bisschen verstehen :)
₪฿௹₥₪ ฿௹₥₪ ฿௹₥₪฿௹₥₪฿ ௹₥₪฿ ௹₥₪฿௹₥₪฿ ௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥ ₪฿௹₥ ₪฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿௹₥₪฿ ௹₥₪฿௹ ₥₪ ฿௹₥₪ ฿௹₥₪฿௹₥₪ ฿ ௹₥₪฿ ௹₥₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹₥ ₪฿௹₥₪฿௹ ₥₪฿௹₥₪ ฿௹₥₪฿௹ ₥₪฿ ௹₥₪ ฿௹₥₪฿௹₥₪฿௹₥₪฿௹₥ ₪฿௹ ₥₪฿௹₥₪฿ ௹₥
BlackJack

@TutorialMichel: Dann solltest Du sie für die Bash schreiben und nicht in Python. ;-)
nezzcarth
User
Beiträge: 1631
Registriert: Samstag 16. April 2011, 12:47

TutorialMichel hat geschrieben: Ja, aber mein Vater programmiert mir Bash.. er will wenigsten meine Skripte ein bisschen verstehen :)
Insbesondere in shutil sind die Bezeichner so sprechend benannt, dass sie allgemein verständlich sind. Das ist also kein Grund. Ansonsten: Wenn es dir um die Verständlichkeit deines Skripts geht, solltest du wirklich noch mal lesen, was die anderen geschrieben haben.
Antworten