2017-10-11 34 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