Dynamische Webseite auf Basis von Python

Objektorientierte Skriptsprache: (python.org)
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Dynamische Webseite auf Basis von Python

Beitrag von Xin » Fr Jun 06, 2014 9:06 am

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... ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

chrash
Beiträge: 10
Registriert: Mo Jun 02, 2014 9:40 pm

Re: Dynamische Webseite auf Basis von Python

Beitrag von chrash » Fr Jun 06, 2014 11:57 am

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.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Dynamische Webseite auf Basis von Python

Beitrag von Xin » Fr Jun 06, 2014 12:19 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

chrash
Beiträge: 10
Registriert: Mo Jun 02, 2014 9:40 pm

Re: Dynamische Webseite auf Basis von Python

Beitrag von chrash » Fr Jun 06, 2014 12:55 pm

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 ?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Dynamische Webseite auf Basis von Python

Beitrag von Xin » Fr Jun 06, 2014 2:58 pm

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"
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

chrash
Beiträge: 10
Registriert: Mo Jun 02, 2014 9:40 pm

Re: Dynamische Webseite auf Basis von Python

Beitrag von chrash » Fr Jun 06, 2014 3:53 pm

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>")

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Dynamische Webseite auf Basis von Python

Beitrag von Xin » Fr Jun 06, 2014 4:11 pm

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 ||)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

chrash
Beiträge: 10
Registriert: Mo Jun 02, 2014 9:40 pm

Re: Dynamische Webseite auf Basis von Python

Beitrag von chrash » Fr Jun 06, 2014 10:49 pm

Also ich hab den Code jetzt so übernommen aber es funktioniert nicht :/

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Dynamische Webseite auf Basis von Python

Beitrag von Xin » Fr Jun 06, 2014 11:39 pm

chrash hat geschrieben:Also ich hab den Code jetzt so übernommen aber es funktioniert nicht :/
Dann schau doch mal hier.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

chrash
Beiträge: 10
Registriert: Mo Jun 02, 2014 9:40 pm

Re: Dynamische Webseite auf Basis von Python

Beitrag von chrash » Sa Jun 07, 2014 1:41 am

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 :/

Antworten