Anfänger braucht Hilfe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Guten Tag!

Ich bin ganz neu in der Matherie "python".
Als erstes Projekt habe ich mir vorgenommen ein kleines Quiz zu schreiben.
Funktioniert soweit auch schon alles ganz gut.
Jedoch stört mich das man nach einer Frage die zu beantworten ist,
immer "enter" drücken muss um eine Antwort zu geben.

Folgenden Code verwende ich:

Code: Alles auswählen

frage1 = raw_input ("Wie heisst die Hauptstadt von Deutschland?")
antwort = raw_input (Deine Antwort:")
while antwort != "Berlin":
print "Die Antwort ist leider falsch."
antwort = raw_input ("Neue Antwort:")
print "Richtig!"
Bedanke mich schonmal für eure Hilfe!
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

print -> Schreibt eine Meldung auf dem Bildschirm
raw_input -> lässt den Benutzer etwas eingeben

Was ist also an deiner ersten Zeile falsch?
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

ah also

Code: Alles auswählen

print "Wie heisst die Hauptstast von Deutschland?"
antwort = raw_input ("deine Antwort:")
usw....
:P Danke
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das Abfragen der Antwort kannst du auch noch besser gestalten:

Code: Alles auswählen

print "Frage...?"
while True:
    antwort = raw_input("Deine Antwort:")
    if antwort == ergebnis:
        print "Richtig"
        break
    else:
        print "Die Antwort ist leider falsch"
Am besten ist natürlich, wenn du gleich eine Funktion draus machst:

Code: Alles auswählen

def fragen(frage, ergebnis):
    print frage
    while True:
        antwort = raw_input("Deine Antwort:")
        if antwort == ergebnis:
            print "Richtig"
            break
        else:
            print "Die Antwort ist leider falsch"

fragen("Hauptstadt?", "Berlin")
fragen("Sinn?", "42")
Das Leben ist wie ein Tennisball.
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Desweiteren habe ich dann noch eine Frage.
Wie kann ich denn die py-Datei nun in eine .exe umwandeln?
Google hat mich auf py2exe gebracht.

Dort erstelle ich dann eine setup.py

Code: Alles auswählen

from py2exe.build_exe import py2exe
from distutils.core import setup

setup(
         [...]
         console=["Quiz.py"]
)
Dann soll ich die Setup.py ausführen.
Fehlermeldung:
File "<stdin>", line 1
SyntaxError: invalid syntax

verstehe ich gerade nicht...
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Zeile 5 (mit den drei Punkten in eckigen Klammern) ist offensichtlich kein gültiger Python-Code, sondern soll nur zeigen, dass dort weiterer notwendiger Code stehen kann, den man hier der Klarheit wegen ausgelassen hat, von daher könnte man statt den letzten vier Zeilen auch ``setup(console=["Quiz.py"])`` schreiben.

Allerdings weist der Fakt, dass Zeile 1 bemängelt wird darauf hin, dass der Import fehlschlägt. Von daher befürchte ich nutzt du py2exe nicht korrekt und solltest dich besser an das offizielle Tutorial halten.

Davon abgesehen: Warum möchtest du eine ausführbare Datei erstellen?
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Danke für deine Antwort.

Wie oben beschrieben möchte ich ein Quiz schreiben, welches man dann unter Windows öffnen kann, ohne Python installiert zu haben.
Dies ist mein erstes Projekt und dient nur zum lernen.

Habe mich an folgendes Tutorial gehalten:
http://openbook.galileocomputing.de/pyt ... 22_002.htm


Habe es gelöst. Danke für eure Hilfe!!!!

Nun kommen wir zum nächsten Problem...ich hätte gerne eine Grafische Oberfläche :-)

Womit geht das am besten?
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Kurz noch einmal zu deiner Geschichte mit der exe-Datei:

Auch die Python-Datei lässt sich problemlos unter Windows ausführen, selbstverständlich muss dafür Python installiert sein. Das Besondere an Python ist, dass auch ich dein Quiz ausführen könnte - und ich habe gar kein Windows. Wäre das nicht irgendwie... stell dir hier tiefes Schluchzen vor.

Zur GUI: Für den Anfang könntest du dich mit "TK" herumschlagen, das ist bereits in Python enthalten und sollte für die Aufgabe genügen.
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Ja da hst du schon recht. Bin auch am überlegen in welchem Format ich es am besten mache.
Windows/Debian und OS X 10.7 stehen hier bei mir im Raum.
Gibt es nicht ein Format welches auf allen OS läuft ohne das "Python oder ähnliches" installiert ist?
Edit: nochmal drüber nachgedacht :roll:
Format wohl eher nicht...vielleicht eine Möglichkeit ein externes Programm mit in den "Quiz-Ordner" zu legen,
mit dem man die "py" auf jedem OS öffnen kann, aber das externe Prog nicht installieren muss.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Selbst wenn du statt Python eine kompilierte Programmiersprache nutzen würdest, müsstest du für jedes anvisierte Betriebssystem eine Variante kompilieren (und die schlimmstenfalls dementsprechend anpassen). Ich würde mich an deiner Stelle lieber fragen ob es überhaupt Leute außer dir gibt, die deine Programme nutzen werden und wenn ja, dann ob man es ihnen wirklich nicht zutrauen kann den Python-Interpreter falls nötig zu installieren und dementsprechend zu verwenden.

Wenn nein, dann veröffentliche einfach den Quellcode. Diese Vorgehensweise wird dir einiges an Schmerzen ersparen.
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Da ist nur dieser Wille in meinem Kopf......
Das Quiz wird kein anderer bekommen, aber ICH will das es überall laufen WÜRDE.
Ganz oder gar nicht!

Dann werde ich es wohl eher für die 3 Betriebssyste kompilieren!
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

lp-tobi hat geschrieben:Da ist nur dieser Willen in meinem Kopf......
Das Quiz wird kein anderer bekommen, aber ICH will das es überall laufen WÜRDE.
Ganz oder gar nicht!
Gut, dann also keine exe-Datei. Gott sei Dank :)

Oh, gerade den letzten Satz gesehen: Mach das nicht. Lass den Benutzer Python installieren. Du wirst schnell merken, dass Python sehr gut auf den verschiedenen Syetemen zurecht kommt, eben ohne, dass man eine ausführbare Datei erstellen muss.

Und kompilieren muss man zum Glück auch nichts.
Trichter
User
Beiträge: 45
Registriert: Montag 20. April 2009, 10:21

Mit ausführbaren Binaries geht das nicht, weil die Betriebssysteme dafür zu unterschiedlich sind.
Genau genommen ist ja der Sinn von Skriptsprachen gerade der, dass der Code auch auf unterschiedlichen Systemen ausgeführt werden kann. Natürlich braucht man dann auf jedem System einen entsprechenden Interpreter, der an das System angepasst ist, aber der auszuführende Quellcode (z. B. dein Quiz) ist dann unabhängig vom Betriebssystem und kann überall ausgeführt werden.
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Ja, ich gebe zu das ihr schon Recht habt :wink:
Ich meine es gibt genug Programme wo man zusätzliche Sachen für braucht.
Belassen wir es erstmal bei "py" und kümmern uns um die GUI :lol:
lp-tobi
User
Beiträge: 8
Registriert: Dienstag 17. Juli 2012, 10:36

Puuuuuhhhhhhhh
Komme gerade gar nicht mit GUI klar.
Hat jemand ein gutes Tutorial an der Hand?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Als Anfänger mit GUIs zu arbeiten ist eigentlich nicht so klug, da diese bereits ein wenig mehr Erfahrung benötigten. Da kommen oftmals sehr interessante Dinge raus. Ich würde hier im Forum einfach mal nach "Quiz" und "tkinter" suchen, ich würde wetten, dass wuf da schon eine Beispiel für geschrieben hat.
Das Leben ist wie ein Tennisball.
Antworten