Programmieren Sie das Zahlenrate-Spiel. Der Computer generiert eine (ganze) Geheimzahl zwischen 1 und 100.
import random geheim = random.randint(1,100) # Ganzzahl zwischen 1 und 100 (inklusive, was ich ziemlich inkonsistent finde)
Der Benutzer darf dann die Zahl erraten. Der Computer meldet:
Wurzeln nur mit Grundoperationen bestimmen. Schreiben Sie eine Funktion, die als Argument eine Zahl x erhält, und eine Schätzung für die Wurzel zurückliefert:
def wurzel(x): # Magic here # Schätzung für Wurzel aus x in w speichern return w # Resultat zurückgeben n = 2 w = wurzel(n) print "Wurzel %d ~ %f, (quadriert ~ %f)" % (n, w, w*w)
Starten Sie mit einer beliebigen Schätzung w und berechnen Sie x/w. Das eine ist grösser als die Wurzel, das andere kleiner. Sei die neue Schätzung der Durchschnitt der beiden Zahlen. Wiederholen Sie:
Testen Sie die Varianten ausführlich mit diversen Grössenordnungen von Radikanden.
Schreiben Sie eine Funktion variationen
, das alle möglichen Wörten mit 3 gegebenen Buchstaben ausgibt. Z.B. gibt variationen(“ABC”)
folgendes aus:
AAA AAB AAC ABA ABB ABC ACA ACB ACC BAA BAB BAC BBA BBB BBC BCA BCB BCC CAA CAB CAC CBA CBB CBC CCA CCB CCC
Für Fortgeschrittene:
Das Resultat eines Vergleichs ist True (wahr) oder False (falsch). Wahrheitswerte können mit
for i in range(10): print i # Gibt Zahlen von 0 bis und mit 9 aus. for i in range(10,20): print i # Gibt Zahlen von 10 bis und mit 19 aus.
for i in range(30,100,3):
print i # Gibt Zahlen in 3er-Schritten von 30 bis und mit 99 aus
for i in (2,3,5,7,11,13,17):
print i # Gibt die Zahlen in der Liste aus
</code>
z = 1000 w = 1 while w*w<z: # Wiederholen, so lange wie eine Bedingung wahr ist (ACHTUNG: Wird oft invertiert!) w+=1 print "Wurzel %d liegt zwischen %d und %d" % (z, w-1, w)