Re: python wer noch?

greetz @ all besonders aber an freund matho der sich anscheinend nicht mehr hier sehen lasse will.

dies ist eine ganz öffentliche aufgabe:
ich,schwarznase gebe es auf....nee nicht gleich python sondern nur bei der fuc'***g aufgabe die matho gestellt hat.
ich weiß nicht ob es an mir liegt, oder an der aufgabe, an meinen(nichtvorhandenen)kentnisse oder vielleicht bin ich einfach nur zu doof dazu!!!
nachdem ich deinen rat befolgt habe mir nicht nur einen sondern sogar zwei liter meines lieblingsgetränks genommen hatte, und mich vor den pc gesetzt hab,es ist nichts rausgekommen.
dan hab ich mich ganz geknickt ins bett gelegt bis ich dann am nächsten morgen von meinem bruder getröstet wurde: macht nix is am anfang immer so und nachdem ich yetzt ca.9 stunden drann gesessen hab(plus schulzeit*grins*)geb ich es auf!
so matho ich hoffe du bist nich allzu enttäuscht von mir...
Ps.aber immerhin hab ich mich ein bissl mit yavascript beschäftgt
hoffentlich bist du nicht so verschreckt dass du nie wieder auftauchst..
greetz schwarznase
@cybersys:daaanke für deine'ausführliche'pn

27

Re: python wer noch?

Moin schwarznase,

Ich hab grade ne Menge Arbeit an der Backe, und nachdem ich just die letzten
vier Tage durchgemacht habe setzte ich mich entspannungshalber jetzt hin,
und schreib Dir was (zugegeben, ich habe 10 Stunden Schönheitsschlaf hinter mir -
ach, war das gut...)

Dochdoch: ich bin enttäuscht von Dir. Durch Aufgeben hat noch niemand ein Spiel
gewonnen. Und ich glaube auch nicht, daß Du zu doof bist (vielleicht liegt's ja
an Deinem Lieblingsgetränk ?!?). Und allerdings hat Dein Bruder recht: am Anfang ist
das immer so - und Du sollst Dich da durchbeissen.

Aber wir machen es so:
Ich zeige Dir eine mögliche Lösung, und Du gehst her, und erklärst die in Deinen
Worten, was hältst Du davon ? Und vielleicht kannst Du irgendwas verbessern, hinzufügen,
umbauen ?

def R(s, n, p = '', z = 0):
        if z == n: print p; return
        for i in s: R(s, n, p + i, z + 1)

R('-);', 3)

gruß

matho

28

Re: python wer noch?

also, meiner bescheidenen meinung nach habe ich die variable n über die funktion len(s) ermittelt, und ein paar umbrüche sowie kommentare gesetzt..

#########################
# Funktion R
# uebergabeparameter:
# s ->liste aller zeichen, die kombiniert werden sollen
# n ->anzahl der zeichen, die kombiniert werden sollen.. in meiner version automatisch
# p ->Default '' -> aktuelles zeichen
# z ->Default 0
#
# Funktionstart
def R(s, n=0, p = '', z = 0): #funktionsdeklarierung
    n=len(s);
        if z == n: # Wenn - dann abfrage (if), ob z gleich n
        print p; # wenn ja, dann gebe p aus
        return # Also wenn return fehlt gibts ein paar fehlermeldungen.. aber wozu dient return in diesem fall??
        for i in s: # eine forschleife (anzahl i von elemente in s)
        R(s, n, p + i, z + 1) # selbstaufruf der funktion mit p+1 und z+1
# funktionsende (R)

R('-);') # funktionsaufruf von R mit einem Parameter - Inhalt -);
cybersys
anything you want to

29

Re: python wer noch?

hm.. ist es eigentlich möglich mittels python in der dos-prompt (cmd-befehl) eine eingabe zu machen (mittels python), also user gibt was ein, und drückt Enter, und es wird in einer python variable gespeichert... ist sowas möglich?

cybersys
anything you want to

Re: python wer noch?

hallo @all
cybersys deinem ein wenig benutzerleserlichem programm stimme ich zu denn es ist ein wenig dem ähnlich was ich versucht habe,return ich zitiere meinen bruder gibt einfach etwas zurück...was auch immer!
@ matho bin sehr froh das du aud deinem winter(schönheits???) schlaf zurückgekehrt bist ich hatte schon sorge ...aber dass hab ich ya letztes mal schon erwähnt....
ich weiß das aufgeben keine feine englische art ist aber ehe wir auf der aufgabe versauern bin ich doch dafür dass wir eher was andres treiben.
ich bin trotzdem der meinung dass esan meinen noch zu geringe kentnissen liegt naya wenn dir noch eine kreative aufgabe einfällt die meinem bescheidenen wissensstandard entspricht bin ich auf yeden fall mit 9 stunden dabei!!"
wünsch dir ne kreative woche(arbeite fleißig ich hab freitag frei....)

31

Re: python wer noch?

@all wow, es soll schüler/innen geben, die Freitags FREI haben  roll

naja.. was mich wie gesagt interessiert, ist, ob man mittels python / cmd eine eingabe bekommen kann...
und, ob man vielleicht auch den drucker ansprechen könnte, oder so..

@schwarznase
eine kleine aufgabe mal von mir..

erstelle ein programm, was mittels asci code alle verfügbaren zeichen ausspuckt.

cybersys
anything you want to

32

Re: python wer noch?

N'abend allerseits

@ cybersys

Besten Dank für Deine Antwort - aber das gilt nicht. Denn: Wozu das return gut ist,
war ja genau so eine der Sachen, die erklärt werden sollten.
Warum Du die Länge des Ausgabestrings automatisch auf die Länge des Eingabestrings -
also hier gleich 3 - setzt, ist mir nicht klar. Mir gefällt's besser, wenn's variabel
bleibt.

Zu Deiner ersten Frage:
Angenommen, Du hast unter windows das Programm abgespeichert, dann solltest Du
irgendwo ein Bildchen von der niedlichen kleinen Schlange haben, das dieses
Programm repräsentiert.
Ändere im einfachsten Fall den code einmal folgendermaßen ab:

def R(s, n, p = '', z = 0):
        if z == n: print p; return
        for i in s: R(s, n, p + i, z + 1)

z = raw_input('zeichenkette eingeben:n')
i = int(raw_input('zahl eingeben:n'))

R(z, i)

e = raw_input('exit')

Wenn Du nun doppelclickst, sollte sich ein Fenster auftun, in dem in der ersten
Zeile "zeichenkette eingeben:" zu lesen steht.
Das tust Du bitte, gefolgt von einem munteren enter, und es erscheint "zahl eingeben:",
was Du bitte ebenfalls tust - wieder bestätigen.
Zum Beenden wieder entern - fertig.
War's das, was Du meinst ?

Wenn Du das Programm in PythonWin aufrufst, erhälst Du prompts, in die Du die
erforderlichen Angaben einträgst.

Zu Deiner Frage das Drucken betreffend:

Mal angenommen, Du hast win-extensions und PythonWin installiert,
mach doch mal folgendes:

import win32ui

k = []

def R(s, n, p = '', z = 0):
        if z == n: k.append(p); return
        for i in s: R(s, n, p + i, z + 1)

z = raw_input('zeichenkette eingeben:n')

i = int(raw_input('zahl eingeben:n'))

R(z, i)

print 'es wird gedruckt'

dr = win32ui.CreateDC()
dr.CreatePrinterDC()
dr.StartDoc('kombi')
dr.StartPage()

for i in range(len(k)):
    print k[i]
    dr.TextOut(100, 60 + i*60, k[i])

dr.EndPage()
dr.EndDoc()

e = raw_input('exit')

Das ist bloß ein rudimentäres Beispiel.
Zum genaueren Nachguggen schau mal hier:
http://www.python.org/windows/pythonwin/


@schwarznase

Was heißt schon feine englische Art ? pfhhhhhh....

Was ich meinte: Wenn Du bereits 9(!) Stunden dran gewerkelt hast,
wäre es doch immerhin möglich gewesen, daß Dir in der 10ten die
Erleuchtung gekommen wäre.
Ein schönes Beispiel ist das mit dem Eierkochen:
Nimm mal an, Du willst ein paar Eier kochen, und brauchst dazu -
na was wohl ? - kochendes Wasser. Wenn Du nun Deinen Topf alle
zwo Minuten von der Kochplatte ziehst, wird das Wasser nie kochen,
und Deine Eier werden nächste Ostern noch nicht hart sein.
Hättest Du aber nur ein bissel mehr Geduld gehabt, und den Topf
gelassen, wo er hingehört (auf der heissen Herdplatte nämlich),
hättest Du ziemlich bald was im Bauch gehabt. Comprende ?
Und zwar stimmt es, daß return irgendetwas zurückgibt, aber es
tut noch etwas wesentlich wichtigeres - nämlich was ?

gruß

matho

33

Re: python wer noch?

hi matho..
vielleicht der funktion sagen, dass diese beendet ist?
oder es könnte sich auch a k.append(p) beziehen, da ja normalerweise die python funcs keine rückgabewerte enthalten..


dass mit dem ausgabestring..
habe ich jetzt kapiert...

das mit dem eingabecode bin ich gerade dabei zu testen..
und, ja es war das was ich meinte:)

cybersys
anything you want to

34

Re: python wer noch?

hm.. und ich will ja nicht übereifrig sein, aber wäre es vielleicht praktisch jedem zeichen eine farbe zu geben, und die "lange liste" dann schöner  & praktischer anzuzeigen?

cybersys
anything you want to

35

Re: python wer noch?

Moin cybersys,

"...vielleicht der funktion sagen, dass diese beendet ist?..."

Warum "vielleicht" ?
Die Frage, die sich nun anschliesst: Warum ist das an dieser Stelle so bedeutsam ?

Ich finde es wichtig, daß man sich so genau als möglich vorzustellen versucht, was
bei einer solchen Rekursion im Einzelnen geschieht.

Dein Vorschlag mit dem Einfärben der verschiedenen Zeichen könnte der Ausgangspunkt
für ein paar generelle Überlegungen sein: Wenn man vor der Aufgabe steht, Permutationen,
Kombinationen, etcpp. anschaulich darzustellen - wie macht man das am besten ?
Das ist ein weites Feld, weil das natürlich abhängig ist von dem konkreten Problem, das
gelöst, bzw. dargestellt werden soll. Sind bestimmte Ähnlichkeiten besonders wichtig, oder
will man eher möglichst grosse Unterschiede hervorheben (zwischen einzelnen strings, oder
etwa bestimmten Gruppen von strings, uswusf.)

gruß

matho

36

Re: python wer noch?

hallo alle zu sammen....
also herzlichen dank für die aufgabe hab mich gerad aufm fudo eingeloggt(also ich bin die schwarznase)
mmmh ich wollt nur frage ob du yetzt nur die lösung suchst oder ob dun sie weißt und nur ne aufgabe gestellt hast(das klang yetzte wie sometimes)
also die se auf gabe entspricht meinem wissensstand und ich hab die lösung schon;-)allerdings möchte sometimes sie gern selber posten also...
na dann soll er das mal machen...
köntest du mich mal aufklären was return tut/macht...ich dachte es zeigt dass die funktion fertig ist und gibt sozusagen die parameter nach anwendung der func. zurück,oder???
gut tschau hab noch spooort böah
wünsch euch von fudo aus ein schönes week end wiiir haben frei!!

*** iHr HöRt mIcH ScHrEiN, dOcH iHr vErStEhT mIcH eInFaCh NiChT***

Re: python wer noch?

ausserdem:@ matho:ich weiß nicht ob der winterschlaf deinem zeitgefühl geschadet hat aber als nächste kommt erst WEIHNACHTEN!0
nen mir irgenwen der zu WEIHNACHTEN eier isst!!!
schönen tag noch:schwarznase

Re: python wer noch?

hallo..
ich bins mal wieder...
ihr habt ja inzwischen viel gepostet *annerkennung*
nun, das mit dem asci code..
die funktion chr(number) wandelt ja den asci-code in ein zeichen um..
vielleicht sowas wie:

def gebcode:
 while a<=1000:
  print chr(a);
  a=a+1;
Lebe deine Träume so wie sie sind,
denn nur so kannst du weiterhin träumen!

39

Re: python wer noch?

@sometimes..
der grundgedanke sieht ganz gut aus, nur du hast einige fehler gemacht..
als erstes mal ein kleiner code:

def asci():
    a=0;
    while a<=255:
        print chr(a);
        a=a+1
asci()

Anmerkung
Eine Funktion bekommt in der Deklaration immer Klammern!
Du musst die variable definieren
und der ascicode geht nur bis 255

naja..
um jetzt ein kleines spiel draus zu machen:

def R(s, n, p = '', z = 0): 
        if z == n: print p; return 
        for i in s: R(s, n, p + i, z + 1) 

def asci():
    b='';
    a=0;
    while a<=255:
        b=b+chr(a);
        a=a+1
    return b;
c=asci();
R(c,len(c)
cybersys
anything you want to

40

Re: python wer noch?

hallihallo!!!
FuDo meldet sich zurück. hab jetz flatrate und endlich wieder zeit smile
und ich hab jetz endlich auch ein python buch (Das Python Buch - welch kreativer titel...) und wenn ich trotz der vielen hausaufgaben mal zeit finde, dann fang ich gleich an mit programmieren. hoffentlich komm ich noch hinterher, ihr seid ja alle schon sonstwie weit *seufz* naja, wünscht mir glück smile
schönes weekend noch!

greetz, FuDo

*** iHr HöRt mIcH ScHrEiN, dOcH iHr vErStEhT mIcH eInFaCh NiChT***