Code: Alles auswählen
(lambda p=__import__('sys').stdout.write:(p('P3 90 60 1 '),[p('1 %i %i '
%(((30-x)**2+(45-y)**2>323,)*2))for x in range(60)for y in range(90)]))()
Code: Alles auswählen
(lambda p=__import__('sys').stdout.write:(p('P3 90 60 1 '),[p('1 %i %i '
%(((30-x)**2+(45-y)**2>323,)*2))for x in range(60)for y in range(90)]))()
Nee, nee, das glaube ich nicht. Wenn ich nichts durcheinander bringe, hast du in irgendeinem Thread geschrieben, dass du ein abgeschlossenes Mathestudium hast. Und wie ich deiner Website entnommen habe, hast du im Herbst sogar einen Python-Kurs abgehalten. Das reicht sicher für dieses Programm.Rebecca hat geschrieben:Jetzt will ich auch mal. Da ich gegen eure kurzen Loesungen eh nicht anstinken kann
Code: Alles auswählen
(lambda p=__import__('sys').stdout.write:(p('P3 90 60 1 '),[p('1 %i %i '
%(((30-x)**2+(45-y)**2>323,)*2))for x in range(60)for y in range(90)]))()
Da sieht man mal, dass ich kein Lisp-Guru bin. Statt die insert-Methode im if- und else-Zweig aufzurufen...Rebecca hat geschrieben:http://paste.pocoo.org/show/28784/
Code: Alles auswählen
(if (> (distance-sqr 30 45 i j) 324)
(insert "1 1 1 ")
(insert "1 0 0 "))
Code: Alles auswählen
(insert (if (> (distance-sqr 30 45 i j) 324) "1 1 1 " "1 0 0 "))
Code: Alles auswählen
#!/usr/bin/env io
Range
"P3 90 60 1 " print
(-30) to(29) foreach(i,
(-45) to(44) foreach(j,
if(i squared + j squared > 324, "1 1 1 ", "1 0 0 ") print
)
)
Erst noch ein bisschen die Spannung erhöhen ... mal sehen, ob sich der Apfel nochmal meldet (wahrscheinlich hat er es inzwischen eh von einem Kumpel abgeschrieben und die Sache hat sich für ihn erledigt).*Sehen will*
Code: Alles auswählen
print"P3 90 60 1"," ".join(["1"+2*(" "+str(int((((x-45)**2+(y-30)**2)/324)**.1)))for y in range(60)for x in range(90)])
Ja, das habe ich bei mir auch drin ..Nein nix mit Prozent, der Operator ist das unäre ``+``.
Gute Idee. Ich bin gespannt, insbesondere wo die paar wenigen Zeichen Unterschied sich verstecken, denn mir scheint, dass unsere beiden Lösungen sich mittlerweile kaum noch unterscheiden.Wollen wir Sonntag zur Deadline erklären und dann die Lösungen posten!?
... glaube ich ebenso wenig wie Du.pütone hat geschrieben:mal sehen, ob sich der Apfel nochmal meldet
Code: Alles auswählen
print'P3 90 60 1'
for b in range(5400):a=+((b/90-30)**2+(b%90-45)**2>324);print'1',a,a
Code: Alles auswählen
print"P3 90 60 1"
for p in range(5400):c=(p%90-45)**2+(p/90-30)**2>324;print 1,+c,+c
Code: Alles auswählen
print'P3 90 60 1'
for b in range(-30,30):
for c in range(-45,45):a=(b*b+c*c>324)+0;print'1',a,a
Code: Alles auswählen
s='P3 90 60 1'
for i in range(5400):x=i%90-45;y=i/90-30;s+=' 1'+' %i'%(x*x+y*y>324)*2
print s
Black JackBlackJack hat geschrieben:Also dann Leute, es ist Sonntag, High Noon. Zieht euren Colt, äh, Code.
und schönerlunar hat geschrieben:Black JackBlackJack hat geschrieben:Also dann Leute, es ist Sonntag, High Noon. Zieht euren Colt, äh, Code.
Der Geek, der schnell programmiert als sein Schatten
Darf ich das so vermarkten?