Code: Alles auswählen
r=a=id(9)%101
while a:g=input();a=g!=r;print["geschafft",["zu klein","zu gross"][g>r]][a]
Code: Alles auswählen
r=a=id(9)%101
while a:g=input();a=g!=r;print["geschafft",["zu klein","zu gross"][g>r]][a]
Code: Alles auswählen
r=a=id(9)%101
Bei mir kommt 11 raus...hendrikS hat geschrieben:Mit 81 Antworten und ueber 2000 Aufrufen hat es unser Schueler mit seinem HALLO WELT Programm wirklich weit gebracht. Respekt!
Eine Frage zu der zuletzt vorgestellten Methode zur Generierung einer Zufallszahl.Ich fuerchte, dass das nicht wirklich funktioniert. Bei 5 Programmtests wurde immer dieselbe Zahl gewählt ( 48 ). Nicht besonders zufällig???Code: Alles auswählen
r=a=id(9)%101
Nö. Geht trotzdem, es wird ja nicht die Adresse direkt verwendet:BlackJack hat geschrieben:Das schränkt die Ratemöglichkeiten mindestens auf nur gerade Zahlen ein.
Code: Alles auswählen
>>> 146556 % 101 # Adresse durch 4 teilbar
5
Code: Alles auswählen
[100, 104, 113, 95, 77, 113, 101, 99, 91, 101, 94, 87, 94, 115, 123, 76, 97, 109, 111, 88, 103,
111, 107, 104, 95, 99, 107, 109, 97, 86, 102, 103, 103, 88, 91, 88, 96, 102, 95, 95, 102, 99,
106, 78, 124, 93, 108, 112, 98, 103, 84, 111, 97, 100, 89, 85, 109, 88, 105, 97, 113, 93, 99,
96, 92, 113, 96, 91, 109, 90, 108, 104, 73, 94, 89, 84, 88, 90, 107, 109, 91, 100, 96, 92, 84,
114, 97, 105, 103, 103, 100, 92, 99, 108, 99, 104, 111, 104, 99, 111, 93]
Code: Alles auswählen
for i in range(10):print id(9)
Warum den das? Obwohl, der Python Interpreter alloziert afair Speicher in größeren, vermutlich aus einer geraden Anzahl von Bytes bestehenden, Grüppchen, die er dann verwaltet - deswegen?Ausserdem würde ich erwarten, dass bei den meisten Architekturen Objekte an durch 2, 4, oder 16 teilbaren Adressen liegen werden. Das schränkt die Ratemöglichkeiten mindestens auf nur gerade Zahlen ein.
Na das wurde hier doch nun zur Genüge abgehandelt ... str1442 hat Dir sogar explizit geantwortet!hendrikS hat geschrieben:Folgendes hallo welt Programm:10mal das Gleiche. Nicht brauchbar zur Generierung von Zufallszahlen.Code: Alles auswählen
for i in range(10):print id(9)
Das musste ja soweit kommen...Hat jemand Lust auf Statistik? :Wink:
Code: Alles auswählen
Z = [100, 104, 113, 95, 77, 113, 101, 99, 91, 101, 94, 87, 94, 115, 123, 76, 97, 109, 111, 88, 103,
111, 107, 104, 95, 99, 107, 109, 97, 86, 102, 103, 103, 88, 91, 88, 96, 102, 95, 95, 102, 99,
106, 78, 124, 93, 108, 112, 98, 103, 84, 111, 97, 100, 89, 85, 109, 88, 105, 97, 113, 93, 99,
96, 92, 113, 96, 91, 109, 90, 108, 104, 73, 94, 89, 84, 88, 90, 107, 109, 91, 100, 96, 92, 84,
114, 97, 105, 103, 103, 100, 92, 99, 108, 99, 104, 111, 104, 99, 111, 93]
n = float(sum(Z))
r = float(len(Z))
print sum([((z-(n/r))**2)/(n/r) for z in Z])
Hast du die letzten Beiträge gelesen? Und verstanden?hendrikS hat geschrieben:Folgendes hallo welt Programm:10mal das Gleiche. Nicht brauchbar zur Generierung von Zufallszahlen.Code: Alles auswählen
for i in range(10):print id(9)
Ich mache jedes Mal einen neuen Interpreter-Aufruf.Rebecca hat geschrieben: Hier der Code
Code: Alles auswählen
Python 2.5.2 (r252:60911, Nov 14 2008, 19:46:32)
[GCC 4.3.2] on linux2
eingebe, bekomme ich stets eine andere Zufallszahl heraus (jedesmal wird der Python-Interpreter neu gestartet -> neuer Adressraum). Wenn du diese Zeile mehrmals in die Dosbox eingibst, sollte jedesmal 32 herauskommen (und nichts anderes macht mein obiger Code), einfach aus dem Grund, dass unter Win die Speicherverwaltung anders funktioniert.python -c "print id(9)%101"