2017-02-17 2 views
0

Как исправить эти проблемы?CherryB объявляется дважды, сначала как список из 4 целых чисел, затем как целое число, воспроизведение не определено

• CherryB объявляется дважды, сначала как список из 4 целых чисел, а затем как целое число. • Та же проблема с CherriesT • игры не был определен

import random 
#Identify players 
players = ['1', '2', '3', '4'] 
#Identify cherry trees 
CherriesT = [10, 10, 10, 10] 
#Identify Buckets 
CherryB = [0, 0, 0, 0] 
#Action result from each spin 
spinChoice = [1, 2, 3, 4, -2, -2, -10] 
#Number of cherries in the tree 
CherriesT = 10 
#How to win 
winnerindex = 0 
turns = 0 

while CherryB < 10: 
    for player in players: 
     randNum = random.randint(0,6) 
     PlayIn = players.index(player) 
     print PlayIn 
     spinResult = spinChoice[randNum] 
     print spinResult 
     CherriesT [PlayIn] = CherriesT [PlayIn] - spinResult 
     print CherriesT [PlayIn] 
     CherryB[PlayIn] = CherryB[PlayIn] + spinResult 

     #Check number of cherries is between 0 and 10 
     if CherryB[PlayIn] < 0: 
      CherryB[PlayIn] = 0 
     if CherriesT[PlayIn] > 10: 
      CherriesT[PlayIn] = 10 

     play = play + 1 
     if CherryB[PlayIn] == 10: 
      winnerindex = PlayIn 
     break 

for player in players: 
    if players.index(player)<=winnerindex: 
     print player + " played " + str(play) + " times. Number of Cherries in"+player+"'s bucket:"+ str(CherryB[players.index(player)]) 
    else: 
     print player + " played " + str(play-1) + " times. Number of Cherries in"+player+"'s bucket:"+ str(CherryB[players.index(player)]) 


print players[winnerindex] + " won after " + str(play) + " plays." 

Спасибо заранее!

+0

добавить эту строку -> 'играть = 0' до' while' цикла -> 'в то время как CherryB <10: ' – davedwards

+0

Спасибо, как насчет этих ... CherryB и CherriesT объявляются дважды, сначала как список из 4 целых чисел, а затем как целое число/я думал, когда я составлял списки для каждого, это позаботилось об этой проблеме? – John

+0

Да, попробуйте удалить или прокомментировать строку 11: '# CherriesT = 10' – davedwards

ответ

0

я не понял сначала, но я думаю, что я решил свой вопрос удален импорта случайного

total = 0 
counter = 0 

while true: 
    #Action result from each spin 
    spinChoice = [1, 2, 3, 4, -2, -2, -10] 
    turns = 0 

    #Number of cherries in the tree 
    cherriesT = 10 
    for i in range(10000): 
     while cherriesT >0: 
      #Spin 
      randNum = random.randint(0,6) 
      spinResult = spinChoice[randNum] 
      print 'The result of the spin is' + " " + str(randNum) 

      #Add or remove cherries from the tree 
      cherriesT = cherriesT - spinResult 

      #Check number of cherries is between 0 and 10 
      if cherriesT > 10: 
       cherriesT = 10 
      elif cherriesT < 0: 
       cherriesT = 0 

      print 'The number of cherries on the tree is' + " " + str(cherriesT) 
      turns +=1 

    print str(i)+': The number of turns to win was' + " " + str(turns) 

    counter+=1; 
    total+=turns 
    print 'The average number of turns to win is' + " " + str(total/counter)#total/i? 
Смежные вопросы