2017-10-11 85 views
0

对于学校我必须制作一个程序,绘制您需要滚动骰子来购买所有东西的次数,每次都有不同数量的现金。脚本以计算骰子的滚动等工作正常,但我不知道如何使情节。这里是我的代码来计算不同量的起始现金:Python:绘制多条线,结果相同,变量为

money = [2500, 2000, 1500, 1000, 500, 0] 
count = 0 
for value in money:  
     while True: 
      throw() 
      piece.move(distance) 
      count = count + 1 
      start() 
      buy() 
      if (poslen) == 36: 
       print("It took", count,"rolls.") 
       plt() 
       break 

之后,我想作一个曲线图,如下所示:

def plt(): 
    money = [0,500,1000,1500,2000,2500] 
    line0 = [count] 
    line500 = [count] 
    line1000 = [count] 
    line1500 = [count] 
    line2000 = [count] 
    line2500 = [count] 
    plt.xlabel("Amount of money") 
    plt.ylabel("Amount of throws") 
    plt.title("Throws with varying amounts of money") 
    plt.plot(money, line0) 
    plt.plot(money, line500) 
    plt.plot(money, line1000) 
    plt.plot(money, line1500) 
    plt.plot(money, line2000) 
    plt.plot(money, line2500) 
    plt.show() 

的变盘点ofcourse改变每一行(因为它让你多买东西)。所以我的问题是我如何打印每个不同的线路正确的Y值(我希望我的问题不是含糊)

+0

第一个暗示 - 尝试代码一切英语除了它是用户界面上的一个功能性的东西,在你的语言中被称为diffrent。 “Geld中的钱”也是同样的例子--mybe使用“Bettr inBeträge”(我猜你明白德语)。 情节怎么样?简单的lineprinting,一个terminaltable,一个UI弹出与图? – LenglBoy

+0

我把它编辑为英文:)它应该是简单的行标记,显示每笔起始金额的投掷量。在Y应该是投掷和线应该更高的Y屁股的起始金额减少(因为它需要更多的时间积累的钱)。 – Kushan

回答

0

,好似已经工作的代码,不完整:poslenthrowstartbuydistance缺少,所以我不能完全确定你在那里做什么,但它看起来像你的循环结构是不必要的复杂。这个怎么样呢?

for value in money: 
    while not poslen == 36: 
     throw() 
     piece.move(distance) 
     count = count + 1 
     start() 
     buy() 
    print("Het duurde", count, "worpen voordat je alles had.") 

plt() 

这也是非常可疑的value没有在任何地方使用。这些奥秘并不能帮助我们理解代码应该实现的功能。

至于你的plt函数,我建议你在一些容器中存储你的各种计数。可能是一本字典。这不是我清楚你究竟是如何产生的数据,但如果你设法让他们到字典中(我们称之为line),plt可能是这个样子:

+0

从来没有想过写这样的for循环,谢谢!确实没那么复杂。是的是将definatelly使用你提示关于情节! – Kushan

+0

@Kushan请注意我关于'value'的编辑未被使用。当您填充它时,您可能希望将'value'用作词典中的键。 (如果您发现答案有帮助,请不要忘记上传和/或接受它。) – jacg

+0

@Kushan另一编辑:'plt()'调用不属于循环内部。一旦你收集了所有的数据,你想绘制。 – jacg