ein kleines quiz

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Man braucht kein textwrap.dedent um das Einrückungsproblem zu beheben.

Code: Alles auswählen

multistring = """
--------------------------------
######Coded by Rootmentor#######
--------------------------------

Willkommen beim Quiz von Rootmentor

Erste frage: Mit was wurde dieses quiz Programmiert?
1. Php
2. Python
3. Html"""

def print_multi_line():
    print multistring
    antwort = raw_input("Welche Sprache ist es? ")

print_multi_line()
BlackJack

Versuchs doch mal bei einer Zeichenkette die eingrückt ist. Oder eine nicht eingerückte Zeichenkette in einer Funktion ohne das die Lesbarkeit leidet.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

Danke das mit den leerzeichen gefällt mir x)
Ich glaube das werde ich mir angewöhnen
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

bremer hat geschrieben:Man braucht kein textwrap.dedent um das Einrückungsproblem zu beheben.

Code: Alles auswählen

multistring = """
--------------------------------
######Coded by Rootmentor#######
--------------------------------

Willkommen beim Quiz von Rootmentor

Erste frage: Mit was wurde dieses quiz Programmiert?
1. Php
2. Python
3. Html"""

def print_multi_line():
    print multistring
    antwort = raw_input("Welche Sprache ist es? ")

print_multi_line()
Böse globale Variable!
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Neben dem ganzen multi-line-string getue eine Frage an den OP: a) Hat dir mein Beispiel geholfen und b) Wie sieht das Programm jetzt aus.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Klip hat geschrieben:Böse globale Variable!
Naja, so schlimm ist das hier nicht - es ist ja nur ein Lesezugriff.

Allerdings gibt es auch keinen guten Grund, multistring nicht im lokalen Namensraum der Funktion zu definieren.
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

numerix hat geschrieben:
Klip hat geschrieben:Böse globale Variable!
Naja, so schlimm ist das hier nicht - es ist ja nur ein Lesezugriff.

Allerdings gibt es auch keinen guten Grund, multistring nicht im lokalen Namensraum der Funktion zu definieren.
Womit wir wieder am Anfang, dem Einrueckungsproblem, waeren. Ich persoenlich finde """ strings eingerueckt grauslich, weil die folgenen Zeilen sehen immer so aus als waeren sie auf Modul-Ebene.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

name hat geschrieben:Womit wir wieder am Anfang, dem Einrueckungsproblem, waeren. Ich persoenlich finde """ strings eingerueckt grauslich, weil die folgenen Zeilen sehen immer so aus als waeren sie auf Modul-Ebene.
Deshalb wurde ja bereits festgestellt, dass ``textwrap.dedent`` existiert. Oder verstehe ich gerade etwas falsch?
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

ja dein beispiel war schon sehr hilfreich so sietzt jetzt aus

Code: Alles auswählen

#!/usr/bin/env python
import os
int = 0
punktinfo = "Dein punktestand:"
print "--------------------------------"
print "######Coded by Rootmentor#######"
print "--------------------------------"
print "Wilkommen beim Quiz von Rootmentor"

print "Erste frage: Mit was wurde dieses quiz Programmiert? \n 1. Php: \n 2. Pyhton: \n 3. Html: "
antwort = raw_input()


if antwort == "2":
    int += 1
    print "Richtig du dein punktestand"
    print int
else:
        print "Das ist leider Falsch"
        print "Die antwort ist : Python"

print " Nun kommt die zweite Frage: Welcher Computer ist der beste? \n 1.windoof \n" + "2. Mac mini \n" + "3.Portablepc"

antwort2 = raw_input()

if antwort2 == "2":
    int += 1
    print "Richtig dein Punktestand:"
    print int
else:
      print "Das ist leider Falsch, Dein Punktestand:"
      print int
      print "Die richtige antwort ist : Macmini"


print "Bereit fuer die Letzte alles entscheidene Frage?Gut!Hier kommt sie!"

print "Wie lange habe ich fuer dieses quiz gebraucht? /n 1. ein tag :\n 2. Eine woche :\n 3. Zwei Stunden :\n 4.vier bis sechs tage"

antwort3 = raw_input()

if antwort3 == "3":
    int += 1 
    print "Richtig dein Punktestand"
    print int
else:
    print "Das ist leider Falsch, Dein Punktestand:"
    print int
    print "Die richtige antwort ist : Zwei Stunden"


print "So das wars mit dem quiz. Dein punktestand betraegt"
print int
print "Bis dann!"

exit()
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Rootmentor hat geschrieben:ja dein beispiel war schon sehr hilfreich so sietzt jetzt aus
Und was genau von meinem Beispiel hast du jetzt bitte verwendet? :shock:
Beherz dir mal das ganze schoen in Funktionen aufzuteilen, wie eben in meinem Beispiel. Das sollte es ja zeigen.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

was bringt das wenn ich jede frage + antworten in eine funktion schreibe?
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Rootmentor hat geschrieben:was bringt das wenn ich jede frage + antworten in eine funktion schreibe?
Hast du mein Bsp. nur ein paar Minuten angeschaut, scheint naemlich nicht so.

PS: Solltest du es wirklich nicht angeschaut haben, was ich vermute, empfinde ich es als Frechheit mir gegenueber. Es mag zwar nicht ein aufwaendiges Programm sein, aber trotzdem hat es mich (ein bisschen) Zeit gekostet.
Solltest du es doch angeschaut haben hast du es nicht verstanden. Schau es dir nochmal an. Da hast du schoen die Fragen in einer Liste, und brauchst nur diese aendern fuer neue Fragen.
Zuletzt geändert von name am Donnerstag 18. September 2008, 20:04, insgesamt 3-mal geändert.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
BlackJack

@Rootmentor: Den Namen `int` sollte man nicht neu binden.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

ich kapier das nich is mir zu hoch
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Rootmentor hat geschrieben:ich kapier das nich is mir zu hoch
Ich empfehle das Tutorial zu machen falls du es noch nicht gemacht hast, dann wieder hier zurueck kommen. Danke.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

wie lange habt ihr gebraucht bis ihr so weit wart?
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Rootmentor hat geschrieben:wie lange habt ihr gebraucht bis ihr so weit wart?
Wenn wir dir den Code aber schon vorkauen, sollte es nicht mehr so ein Problem sein das anzuwenden.

Falls es konkrete Fragen dazu gibt, stehe ich gerne zu Verfuegung. Doch Empfelungen einfach zu ignorieren, da fuehl' ich mich verarscht, wozu helfe ich dir dann ueberhaupt.

Hier zur Illustration zum Problem vom ueberschreiben von int.

Code: Alles auswählen

>>> a = int(5)
>>> a
5
>>> int = 4
>>> int(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> 
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

genau deswegen hab ich das mit der anfänger base geschrieben....
Ich schreibt alle schon auf einem ganz anderem Niveau wie ich...
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Rootmentor hat geschrieben:genau deswegen hab ich das mit der anfänger base geschrieben....
Ich schreibt alle schon auf einem ganz anderem Niveau wie ich...
Ich bezweifle das das der richtige Ansatz zum Lernen ist. Schau dir ordentlichen Code an, und versuch daraus zu lernen. Evtl. dabei auftretende Fragen werden dir sicher gerne beantwortet.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Rootmentor
User
Beiträge: 54
Registriert: Sonntag 17. August 2008, 18:26
Wohnort: Lingen
Kontaktdaten:

wenn ich französisch lernen will
dann zieh ich mir auch nich nur französische texte rein..Sondern lerne vokabeln..
Antworten