Seite 2 von 3

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 9:06 am
von Xin
chrash hat geschrieben:Da ich mich nicht gut mit Python auskenne da wir nur mit Java arbeiten , würde ich mich freuen wenn ihr mal über meinen Code gucken könnt ob das so geht :
Was Du programmiert hast, ist weniger ein Python- als ein Denkfehler. ^^
chrash hat geschrieben:

Code: Alles auswählen

form=cgi.FieldStorage()
s1=form["day"].value
s2=form["month"].value
s3=form["year"].value
Warum nennst Du s1 nicht day, s2 nicht month und s3 nicht year?

Und überhaupt? Wen interessiert s3? ^^
chrash hat geschrieben:

Code: Alles auswählen

if s1>=21 && s2=3:
    print("<html><body><p>Widder</p></body></html>")
    if s1<=20 && s2=4:
        print("<html><body><p>Widder</p></body></html>")
Denk mal kurz drüber nach... ^^

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 11:57 am
von chrash
Warum nennst Du s1 nicht day, s2 nicht month und s3 nicht year?

Und überhaupt? Wen interessiert s3? ^^
Ja ist irgendwie so mein Stil , will immer keine Doppelnamen ^^Und ja mit s3 hast du auf jeden fall recht habe ich gleich mal rausgenommen :D
Denk mal kurz drüber nach... ^^
Hm ganz ehrlich ich weiß nicht was ich falsch gemacht haben soll ^^Mein Gedanke dabei war wenn s1(day) größer oder gleich 21 ist und s2(month) = 3(März) ist dann soll er Widder ausgeben. Die if Selektion darunter soll ja nur das gleiche bestimmmen nur das s1 da kleiner gleich 20 ist und s2 = 4 sein muss für den Monat April.

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 12:19 pm
von Xin
chrash hat geschrieben:
Warum nennst Du s1 nicht day, s2 nicht month und s3 nicht year?

Und überhaupt? Wen interessiert s3? ^^
Ja ist irgendwie so mein Stil , will immer keine Doppelnamen ^^Und ja mit s3 hast du auf jeden fall recht habe ich gleich mal rausgenommen :D
Variablen durchzunummerieren hat nichts mit Stil zu tun. ^^
Denk mal kurz drüber nach... ^^
Hm ganz ehrlich ich weiß nicht was ich falsch gemacht haben soll ^^Mein Gedanke dabei war wenn s1(day) größer oder gleich 21 ist und s2(month) = 3(März) ist dann soll er Widder ausgeben. Die if Selektion darunter soll ja nur das gleiche bestimmmen nur das s1 da kleiner gleich 20 ist und s2 = 4 sein muss für den Monat April.[/quote]

Okay, dann das ganze mal in Java:

Code: Alles auswählen

if( s1>=21 && s2=3 )
{
    system.out.println("<html><body><p>Widder</p></body></html>")
    if( s1<=20 && s2=4 )
        system.out.println("<html><body><p>Widder</p></body></html>")
}
Denk darüber nach, was Du gemeint hast und was Du geschrieben hast.

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 12:55 pm
von chrash
Hm okay das einzige was mir auffällt ist das s2 = 3 falsch ist sonder s2 == 3 dort stehen müsste..

Edit: Auch würde ich sagen das sobald ja die erste If Selektion falsch ist das Programm einfach abbricht oder?Und nicht in die zweite übergeht ?

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 2:58 pm
von Xin
chrash hat geschrieben:Hm okay das einzige was mir auffällt ist das s2 = 3 falsch ist sonder s2 == 3 dort stehen müsste..
Das wäre der erste Fehler - der zweimal auftaucht.
chrash hat geschrieben:Edit: Auch würde ich sagen das sobald ja die erste If Selektion falsch ist das Programm einfach abbricht oder?Und nicht in die zweite übergeht ?
Die zweite if-Abfrage kann nie wahr werden, da sie nur abgefragt wird, wenn die erste wahr wird. s2 kann aber nicht == 3 und gleichzeitig ==4 sein. Die Zweite if-Abfrage ist von de ersten abhängig, der Then-Part der zweiten ist daher eine Und-Verknüpfung beider if-Abfragen. Du möchtest aber aber Widder ausgeben, wenn die erste Bedingung true ist ODER die zweite. Und genauso kannst Du das doch auch schreiben.

Code: Alles auswählen

if (bedingung1) or (bedingung2): 
  print "widder"

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 3:53 pm
von chrash
Okay das habe ich mir dann doch schon irgendwie gedacht als ich den Code mal in der Eclipse ausprobiert habe ^^

Also wäre das dann der richtige Code :

Code: Alles auswählen

if s1>=21 && s2 == 3|| s1<=20 && s2==4:
  print("<html><body><div style=text-indent:500px;><p><span style=color:#FF8000><strong>Widder</strong></span></p></body></html>")

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 4:11 pm
von Xin
Ich würde die Klammern noch setzen, um die Priorisierung der Operatoren zu garantieren, aber das dürfte richtig sein (&& müsste stärker binden als ||)

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 10:49 pm
von chrash
Also ich hab den Code jetzt so übernommen aber es funktioniert nicht :/

Re: Dynamische Webseite auf Basis von Python

Verfasst: Fr Jun 06, 2014 11:39 pm
von Xin
chrash hat geschrieben:Also ich hab den Code jetzt so übernommen aber es funktioniert nicht :/
Dann schau doch mal hier.

Re: Dynamische Webseite auf Basis von Python

Verfasst: Sa Jun 07, 2014 1:41 am
von chrash
Also ich möchte ja jetzt die Parameter die vom Fomular übergeben werden in die If Selektion Abfragen und dann ausgeben ..

Mein Code sieht dafür so aus und ich benutzte vom CGI FieldStorage() um die Parameter abzufangen.

Code: Alles auswählen

#!/usr/bin/python
#-*- coding: utf-8 -*-

import cgi
import cgitb

cgitb.enable()
 

print("Content-type: text/html; charset=UTF-8\n\n")
print("<!DOCTYPE html>")
print("<html><head><title>Sternzeichen-Rechner</title></head><body><h2 style=text-align:center;color:#FE642E>Dein Sternzeichen ist:</h2>")
print("<body bgcolor=#000000>")
print("</body></html>")

form=cgi.FieldStorage()
s1=form['day'].value
s2=form['month'].value
if (s1>=21 && s2 == 3 )||(s1<=20 && s2==4):
  print("<html><body><div style=text-indent:500px;><p><span style=color:#FF8000><strong>Widder</strong></span></p></body></html>")
aber wenn ich meine Daten in mein HTML Skrip eingebe kommt nur die Fehlermeldung:
End of script output before headers: cgi_formular_auswertung.cgi

Obwohl doch durch den import vom cgitb eine genauere Fehlermeldung kommen müsste :/