2017-01-03 2 views
-1

Wie kann ich diesen Code 1000 mal ausführen und eine CSV-Datei mit zwei Spalten (l1, l2) und 8 Zeilen (ABCDEFGH), mit der Häufigkeit der Buchstaben Aussehen in der Simulation.x-Zeiten simulieren, und eine CSV-Datei erhalten

import random 
l1= random.choice("ABCDEFGH") 
l2= random.choice("ABCDEFGH") 
print l1, l2 
+1

Es sieht so aus, als ob Sie möchten, dass wir einen Code für Sie schreiben. Während viele Benutzer bereit sind, Code für einen in Not geratenen Coder zu produzieren, helfen sie normalerweise nur, wenn das Poster bereits versucht hat, das Problem selbst zu lösen. Eine gute Möglichkeit, diesen Aufwand aufzuzeigen, besteht darin, den Code, den Sie bisher geschrieben haben, die Beispieleingabe (falls vorhanden), die erwartete Ausgabe und die Ausgabe, die Sie tatsächlich erhalten (Konsolenausgabe, Tracebacks usw.), einzubeziehen. Je mehr Details Sie angeben, desto mehr Antworten erhalten Sie wahrscheinlich. Überprüfen Sie die [FAQ] (http://stackoverflow.com/tour) und [Wie zu fragen] (http://stackoverflow.com/help/how-to-ask). –

+0

Außerdem möchten Sie nicht wirklich 1000 Paare von zufälligen Buchstaben auf der Konsole drucken, oder? –

+0

Das Schreiben in eine .csv-Datei ist ein einfacher Schritt, der an zahlreichen anderen Stellen diskutiert wird. –

Antwort

0

Ich wollte etwas über Zufallsdaten erfahren, also machte ich eine Brute-Force-Lösung. Es sollten Sie auf den Stufen eine Idee geben, erforderlich, so können Sie versuchen, damit es mehr pythonic (ich weiß, ich werde für diese Antwort auf dem Scheiterhaufen werden!)

import random 
f = open('output.csv','w') 

l1 = [] 
l2 = [] 

#create 1000 choices for l1 and l2 

l = "ABCDEFGH" 

for i in range (1000): 
    l1.append(random.choice(l)) 
    l2.append(random.choice(l)) 

#count the number of times a letter was picked 
L1={} 
L2={} 

for x in l1: 
    if x not in L1: 
     L1[x] = 1 
    else: 
     L1[x] += 1 

for x in l2: 
    if x not in L2: 
     L2[x] = 1 
    else: 
     L2[x] += 1 

#format data for output   
f.write((''+','+'l1'+','+'l2'+'\n')) 
for x in list(l): 
    f.write(x+',') 
    val = str(L1[x]) 
    f.write(val+',') 
    val2 = str(L2[x]) 
    f.write(val2+'\n') 

f.close() 

Es öffnet sich in Excel-OK, aber ich Ich weiß nicht, ob es in Pandas oder ähnlichem funktionieren wird.

Verwandte Themen