Zufallszahlen
Die Ausführung eines Programmes ist grundsätzlich deterministisch, d.h. egal wie oft es ausgeführt wird, bei gleicher Eingabe resultiert immer die gleiche Ausgabe.
Es ist aber möglich auch den Zufall zu verwenden.
Wir können z.B. mit dem Rechner virtuelle würfeln.
Bei einem normalen Würfel sind alle sechs Seiten (Ziffern) gleich wahrscheinlich. Die aus einem Würfel Wurf resultierende Zahlen nennen wir auch gleichverteilt.
from random import randint importiert die Funktion randint() aus dem Modul random. randint(a, b) erzeugt eine ganzzahlige Zufallszahl zwischen a und b, wobei a die kleinste und b die grösste Zahl ist.
Beispiel: zufällig würfeln
Beispielsweise erhältst du zufällige Würfelzahlen mit randint(1, 6).
Beispiel: Zufällige Sterne
Dieses Programm zeichnest 50 Sterne und legt ihre Position mit Zufallszahlen fest. Die Funktion randint(a, b) liefert bei jedem Aufruf eine ganzzahlige Zufallszahl im Bereich a, b.
Nachfolgend wählen wir die x-Koordinaten der Sterne im Bereich -250, 250 und die y-Koordinaten im Bereich -200, 200 zufällig aus.
Es wird hier gezeichnet...
Beispiel: Zufällige Sterne mit Farbe
Man kann auch die Farben zufällig wählen. Die rote, grüne und die blaue Farbkomponente einer Farbe können als Zufallszahlen im Bereich 0 bis 255 erzeugt werden.
c = makeColor(randint(0, 255), randint(0, 255), randint(0, 255)) erzeugt eine zufällige Farbe.
Es wird hier gezeichnet...
Aufgaben
Ausprobieren
Question
Überlege dir zum vorherigen Beispiel Antworten auf die folgenden Fragen:
- Was genau bedeuten die
x und y Werte?
- Wo entstehen die Farben?
- Wie entstehen die Farben?
- Wie findest du die Antworten zu den vorherigen Fragen?
Zufällige Punkte
Question

Zeichne 100 gefüllte Kreise (dots). Die Position der Kreise, ihr Durchmesser und ihre Farbe sind zufällig.
Verwende dazu den dot(DURCHMESSER) Befehl.
Es wird hier gezeichnet...
.128013öeshq;98fTt2lv1760g3-ndbcpmCo(ari=)/wy:*PL,k45 ux050x0c0l0F0H0n0d0V0z0n0F0d0d0I010l0H0A010406050d0W0B0B0F0G0M040Q0b0|0w0t050K0|0~10120`0A04051g191j0K1g0`0x0H0o0*0,0.0:0e0H0t0e0n1x0e0l0^050#0y0n0c1s0-0/011w1y1A1y0l1G1I1E0l0G1h0l0e0*0D0(0A0F0w0:0m011K1u010j0%0c0w0F0B0c1E0d1(0w1.1M1;1I1@1_0^0a0V14160t0d0o0D0G0d0z1z0F181a1}1h0K1Z2m1W1Y1X1F0x1 0:1A0w1?0D0d1E1p1r0+1L2w0H2y0w0D2D1E0A0G0c1h1|1)2m2S0w2R1}2v012K0G0 0n0^0V0p192V0_0{2Y2F1/2#2%2)0m2,2l0`2V2Z2?0F2(040V0u2`2T2|2:1t1M2 310V0T352W371)2~2d2@320U3f2.2}2;3a3k302)0r3o3h1~3r0:3b2)0q3x2/3i3A2!3t3c0i3F3q393B3K2)0h3N382G3J2$3u040p0s3U3H3P3X3l0p2+2k363G3z3)3C3!2_3.3g3:3j3Y310p343_3p3V2=3R3!3e413y3|3+3n483{3I3?0p3w4d3O3W4g3E4j433s3}0^0p3M4o3(4l450p3T411k2P2m2D2p0x1Y2u3I0z2L1`1h4F1i4D3:2U2l054L0Z2X4w1/0S0w0^0j0G0D0B3o0V4e3=4$040t0l0W0G0l1I4,4.3W4#0^0H0B0A2d0l4{4k1/0D0^0O3%3;4}4:4(4*554p3B4:0G1)0x5g414-561M4~0450524^5h4Z3a0^5l0w1p0w5448494f0^0 0S0c0k4@4_0c3o4|1/0@040E0J3x5I3=0^1w0Z5O4^4`4B5r0:5V5X5b2~0^1|0c0c0x5S5-015/5{5i010B0H0^3$5,605V5Y4v5c2=0^0y0t4L0n2d5 5z5.0^0E6j6b1M0d1,04020f0W0D0l0g1H0F0z0S6u6w6y6o2Z685Z5T5s4%6i5p6L3B4 5y6p0:0D0L4 0w6T2~0y5B1)0t5R666k5}6m6H3I620^0u0s652-6Q6-040J0N3x0V705q604:0z6!3I58040I765#045L0c0C1$6O6_5|5~6+6U2!6%5D2I5G7j676.7m2Z6;046^4U7k0^0R7b3W7y0m0U4c7t6,687E6P5|5k5m7r6/3)7l7L7n7y7A2T6`5V7O2-726,7H7J7U3W7N7F6c045C5E7s7B7u5W7.1/7Z7}1M7%7;1M7,7K7`7M0^0J692-06717*7n4:0d0!0P1?7g6h0G806l7|7w5J04758s7V895Z8e6`4:0X836V0^7a7P737p7^8p6{6n8w3W780v8M7y0u0m7!2W7$7D8E6163048V8X4Y7n6J488A7Q0^0M8#788H7)8B8K7T8P5U7v7X2Z8R8T8%0m0T8*8Z047(2l8f7x94968M8-8c8/8J048i0l0P2A9g8 878g0^8D8}818!8I6,4:8=9w8q8b2{8d718`040x4@2g1_0.0c8o9z7n8@8#7R7q5F9q8r906:8%3#9Z9a2T9c9$0^0i977C6|6 9I8:9K6x9Z8O9#7c9L0G9N0c9P9R9}7/8y4d0K4W2Q4Cab0K4P2n4H192qai0F1Had4F0`ae0!0$0(04.
Lösung
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | from gturtle import *
from random import randint
makeTurtle()
hideTurtle()
speed(0)
bgcolor("black")
for i in range(300):
c = makeColor(randint(0, 255), randint(0, 255), randint(0, 255))
setPenColor(c)
x = randint(-320, 320)
y = randint(-240, 240)
setPos(x, y)
durchmesser = randint(10, 80)
dot(durchmesser)
|
Zufälliger Spaziergang
Question

Die Turtle startet an der Homeposition (0, 0) und bewegt sich wiederholt (z. B. 200 mal) um 20 Schritte in einer zufällig gewählten Richtung vorwärts.
Um die Bewegungsrichtung festzulegen, kannst den Befehl setHeading(angle) verwenden. Dabei sollte angle eine Zufallszahl zwischen 0 und 360 sein, die du zuerst erstellen musst.
Es wird hier gezeichnet...
.128013öesh98fTt2lv1760g3HndbcFpmCo(ari=)/wy:*EPL,k45 ux050v0c0j0E0G0l0d0V0x0l0E0d0d0H010j0G0z010406050d0W0A0A0E0F0L040Q0b0|0u0r050J0|0~10120`0z04051g191j0J1g0`0v0G0m0*0,0.0:0e0G0r0e0l1x0e0j0^050#0w0l0c1s0-0/011w1y1A1y0j1G1I1E0j0F1h0j0e0*0C0(0z0E0u0:0k011K1u010h0%0c0u0E0A0c1E0d1(0u1.1M1;1I1@1_0^0a0V14160r0d0m0C0F0d0x1z0E181a1}1h0J1Z2m1W1Y1X1F0v1 0:1A0u1?0C0d1E1p1r0+1L2w0G2y0u0C2D1E0z0F0c1h1|1)2m2S0u2R1}2v012K0F0 0l0^0V0n192V0_0{2Y2F1/2#2%2)0k2,2l0`2V2Z2?0E2(040V0s2`2T2|2:1t1M2 310V0T352W371)2~2d2@320U3f2.2}2;3a3k302)0p3o3h1~3r0:3b2)0o3x2/3i3A2!3t3c0g3F3q393B3K2)0f3N382G3J2$3u040n0q3U3H3P3X3l0n2+2k363G3z3)3C3!2_3.3g3:3j3Y310n343_3p3V2=3R3!3e411k2P2m2D2p0v1Y2u3I0x2L1`1h4c1i4a3:2U2l054i0Z2X3(3W0S0u0^0h0F0C0A3o0V3{3I0u4z040r0j0W0F0j1I4F4H3)4y0^0G0A0z2d0j4S3O3W0C0^0N3%3;4x4K4B4D4$433a4K0F1)0v4;414G4%1/4V044X4Z4P4=4w2=0^4_0u1p0u4#41063y2~0^0 0S0c0i4O4Q0c3o4T3W0@040D0I4,5i041|0c0c0v5r4 1M5u0D5F4?0:0A0G0^3$485G0:5u5x5f5h3I0S4A2d564-58525$2Z0C0K4W0u5*4I0w591)0r5q5R5L015I5K571M5N0^0k0q5Q2-5s1/5U0M3x0V6c4~5{4^0G2g4N175:3)4)040H6l3W4^4`2I5e665S5|0^5J5`5 5M5O04654r6x5u0R6q1/61040s0p6G2T675H0^5V2-066d6e6C2!0^0d0!0t0c0E5c2j6w5{5}6B5%3a596h1C0W6k6=2Z5U6b6d6T3B5!0F0K105E6}3I6;6/6#6N635~6?5T6V3x6Y716x0x0n0^030V0O0X1W0E0M0V0K0c2g6(0l5b1J0y100w5_6X6Z72017o7q0*0V0H0V5k0c0B1$2d0D5a5c0j0D0q0R0V0k0U0U0I7)7!6u7%7)7+7-7/6t5d7=7*7,0I6W2{7L7n7p047r6(0j0P1?7W0l7Y0x803/0J4t2Q498j0J4m2n4e192q8q0E1H8l4c0`8m0!0$0(04.
Lösung
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | from gturtle import *
from random import randint
makeTurtle()
speed(0)
for i in range(200):
richtung = randint(0, 360)
setHeading(richtung)
forward(20)
# Extra: wechselnde Farbe
# c = makeColor(randint(0, 255), randint(0, 255), randint(0, 255))
# setPenColor(c)
|
Zufälliges N-Eck
Question

In deinem Programm wird bei jedem Lauf eine zufällige ganze Zahl n zwischen 3 und 12 erzeugt. Die Turtle zeichnet danach ein entprechendes regelmässiges n-Eck und füllt es mit einer zufälligen Farbe.
Es wird hier gezeichnet...
.128013öesh98fTt2lv17_60g3-ndbcFpmCo(ari=)/wy:*NPzEL,k45 ux050w0c0j0F0H0l0d0Y0y0l0F0d0d0I010j0H0A010406050d0Z0B0B0F0G0M040T0b0 0v0s050K0 1113150}0A04051j1c1m0K1j0}0w0H0m0-0/0;0?0e0H0s0e0l1A0e0j0{050(0x0l0c1v0:0=011z1B1D1B0j1J1L1H0j0G1k0j0e0-0D0+0A0F0v0?0k011N1x010h0*0c0v0F0B0c1H0d1+0v1;1P1@1L1`1|0{0a0Y17190s0d0m0D0G0d0y1C0F1b1d201k0K1$2p1Z1#1!1I0w220?1D0v1_0D0d1H1s1u0.1O2z0H2B0v0D2G1H0A0G0c1k1 1,2p2V0v2U202y012N0G120l0{0Y0n1c2Y0|0~2#2I1=2(2*2,0k2/2o0}2Y2$2_0F2+040Y0t2}2W2 2?1w1P32340Y0W382Z3a1,312g2`350X3i2;302@3d3n332,0q3r3k213u0?3e2,0o3A2=3l3D2%3w3f0g3I3t3c3E3N2,0f3Q3b2J3M2)3x040n0r3X3K3S3!3o0n2.2n393J3C3,3F3%2|3;3j3?3m3#340n373|3s3Y2^3U3%3h443B3 3.3q4b3~3L3_0n3z4g3R3Z4j3H4m463v400{0n3P4r3+4o480n3W4y3@4A4u040k3)4E4d3$0k3:2:4c4i480k3{4Q4h3^4T434W4n474H0k4a4#4s3T4(4f4+4z4%3o0k4l4:4F4=4N4q2:1n2S2p2G2s0w1#2x3L0y2O1}1k521l503?2X2o05580$2!4;1P0V0v0{0h0G0D0B3r0Y4X4o5p040s0j0Z0G0j1L5v5x1=5o0{0H0B0A2g0j5H4$1P0D0{0O3*4`5n5z5r5t5R4,2%5z0G1,0w5$445w5S0?5K045M5O5E5%5m3E0{5+0v1s0v5Q4b4R3^0{120V0c0i5D5F0c3r5I1P0`040E0J5X310{1z0$6b5E5G446g0?6i6k6m4i0{1 0c0c0w6f5;016x6G5(0B0H0{4K4~6H6i6l64653Z0V0{0$0h5{5Y3E0h0{0v0p0c0y0V6K5|6I0{0E6/6$2%0{0P6@2$6S0N3A0Y715:5(5z0y6#2$5U040I776A04680c0C1)2g6|3L6J6u6H5*5,2L636Q5(7m7t6:6M6O7k3,6i0U7c3,7y4I0X4/5h6R0{0J7D5/6v6_045 617s7K7u6=7A3Z7G6P7W6:7C7E7!6N7H7J2W7Q6S7O2:736:7p607r7Z1=7v7%6^7#7|6h0{7=2o7@807,0k7I826w7M6T4Q72876n040d0%0Q1_7h0l7j7n7X6j8c7R768s7(7M70727Q5z8l0j0z0*0l8p8r7w6^7~7/7o0{8x8M6}8A648h8D0{0x0c0s2L0p240l8v6x8f2~8X6H6X040h8L868Y5@7*1=0D0L5L0v8{3d0x5~1,0s6e8y8N7Y988j6{9b7l7M6 4b8h8/745q2g0L136F9e7B9a8T3L7G0t7$8P8t8-399j8C8Q041L0h7V9z8z8u9r7+0{0t0q9y2Z8i3L790K915}049d9u9s049B3j9k7^0{1_0w8(8I8+6=9)0|066V5J9m0G9Y7R0H9~8}8 9~0v937S95979$3Z8O2Z7Q7G4J9=9(9h8g9E9l040!a10{7b7P9F7T7{9N7}9t7 780{0u8v9w0r9S5l9904852W9U7F7,9xaG7:8Vak718_0Map7aa4947`62ah6?aw5TaBaD890WaQ7LaJ9~afa.ah9@069+6^8E8m2Da%8v5zaoa)8da;asamaWb46;9(3Aa`al9,041,0R0F1C0S6-1_aXar7?8_aua$baacaH2$9wahaK9Tae7,0n4Vaz9fbc9ibfa|6)6+6-b0ba5zbibk0lbm6990bvaS2~1c5j2T4 b(0K5c2q541c2tb/0F1Kb*520}b+0%0)0+04.
Lösung
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | from gturtle import *
from random import randint
makeTurtle()
hideTurtle()
speed(0)
def n_eck(N):
c = makeColor(randint(0, 255), randint(0, 255), randint(0, 255))
setPenColor(c)
setFillColor(c)
begin_fill()
for i in range(N):
forward(30)
left(360 / N)
end_fill()
for i in range(20):
x = randint(-300, 300)
y = randint(-240, 240)
setPos(x, y)
anzahlEcken = randint(3, 12)
n_eck(anzahlEcken)
|
Eigene Zeichnung
Question
Versuche nun Zufallszahlen zu verwenden, um einen selber etwas zu Zeichen.
Mit den Zufallszahlen kannst du die Position von Objekten, die Farbe, Grösse, sowie wie auch deren Art bestimmen.
Lass deiner Kreativität freien Lauf!
Es wird hier gezeichnet...
# Tests(Groß-/Kleinschreibung wird nicht beachtet)(Ctrl+I)
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
(Esc)