请去容易,我是个学生!
我无法将下面的代码的结果导出为CSV。对于每一个循环(抛硬币),我需要导出结果为CSV称为RESULTS.CSV作为新行。
我已经试过张贴在计算器上,但没有成功迄今大约四个不同的方法。我有困难的时候,理解语法/逻辑。我不喜欢问这个,总是尽量避免它,但会有人给我看一个简单的解决方案,这样我可以解剖的逻辑是什么? (而不是引用到文章中,我已经尝试去理解他们,但我有麻烦)
版本:3.5的Python
import random
flipcount=int(input("How many times should I flip a coin?\n###:"))
samples = [ random.randint(1, 2) for i in range(flipcount) ]
heads = samples.count(1)
tails = samples.count(2)
for s in samples:
msg = 'Heads' if s==1 else 'Tails'
print(msg)
print ("Heads count=%d, Tails count=%d" % (heads, tails))
这是一次失败的尝试。我相信我已经饱和我的研究课题,并有很大的迷惑自己...
import random
import csv
flipcount=int(input("How many times should I flip a coin?\n###:"))
samples = [ random.randint(1, 2) for i in range(flipcount) ]
heads = samples.count(1)
tails = samples.count(2)
writer = csv.writer(w)
for s in samples:
msg = 'Heads' if s==1 else 'Tails'
print(msg)
with open('some.csv', 'w', newline='') as f:
writer.writerows(msg)
print ("Heads count=%d, Tails count=%d" % (heads, tails))
import pandas as pd
import numpy as np
#get the flipcount
flipcount = int(input("How many times should I flip a coin?\n###:"))
samples = np.random.randint(0, 2, size = flipcount)
#create a pandas dataframe
data = pd.DataFrame(["heads" if i == 1 else "Tails" for i in samples])
#create a csv file
data.to_csv("data.csv", index=False, header=False)
这将工作。现在,而不是只打印您的结果,你把它们添加到列表中“数据”。 “数据”的每一行包含你的成果之一。然后你写的名单“数据”到CSV文件,这看起来像你要求的。
import csv
data = []
for s in samples:
msg = 'Heads' if s==1 else 'Tails'
data.append(msg)
with open('flip_file.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(data)