2016-01-31 48 views
0

我剛剛開始學習python,我讀的一個任務是製作一個頭部或故事的小循環,並收集多少故事或頭部面臨的數據。Python循環存儲頭部和故事數據

這裏是我的代碼

import random 

x = random.randrange(2) 
y = ["Tales","Heads"] 
tales = 0 
heads = 0 
for i in range(100): 
    print(y[x]) 
    x = random.randrange(2) 
    if y == "Tales": 
     tales += 0 
    elif y == "Heads": 
     heads += 0 

print("it was", heads,"heads and ",tales,"tales.") 

什麼錯誤都我做? Loop是真的很難學的東西。

謝謝大家,我確實把頭+ = 1,並沒有工作,我失蹤的是如果y [x] ==「故事」。

再次感謝大家的回覆。

+0

接受幫助你的答案。 –

回答

-1

您必須添加10

tales += 1 

heads += 1 

當然你有y[x],不y比較文字。

y[x]從列表中爲您提供單個文本。

+0

雖然這是代碼問題,但它不能解決OP問題。即使你的建議改變也不會增加,因爲如果y ==「Tales」'''這些行被破壞'''。 – DominicEU

+0

起初我看到這個問題,我沒有找到更多的問題:) – furas

0

有2 issuesin你的代碼 -

  1. 你應該比較您使用y[x]
  2. 計數首腦故事應增加,不。 例如 - tales += 1


import random 

x = random.randrange(2) 
y = ["Tales","Heads"] 
tales = 0 
heads = 0 
for i in range(100): 
    x = random.randrange(2) 
    print(y[x]) 
    if y[x] == "Tales": 
     tales += 1 
    elif y[x] == "Heads": 
     heads += 1 

print("it was", heads,"heads and ",tales,"tales.") 
0

有這個代碼的幾個問題。首先,當您嘗試將它們的結果增加0(tales += 0)時,它們應該由1完成。另外,您不能像這樣檢查結果if y == "Tales":。你必須把它分配給另一個變量。嘗試如下所示。

import random 

x = random.randrange(2) 
y = ["Tales","Heads"] 
tales = 0 
heads = 0 
for i in range(100): 
    x = random.randrange(2) 
    chosenValue = y[x]; 
    if chosenValue == "Tales": 
     tales += 1 
    elif chosenValue == "Heads": 
     heads += 1 

    print("it was", heads, "heads and ", tales, "tales.")