Python - Как позвонить в последовательности следующего игрока в LIST - PullRequest
0 голосов
/ 28 августа 2018

У меня возникла проблема с тем, как на самом деле вызывать следующего игрока из списка LIST по порядку.

По сути, мне нужно проверить в p_record LIST, который содержит имена игроков.

    def main():

    attempts = 0
    white = 0
    wrong = 0
    score = 0
    black = 0 
    game = True    
    p_record = []
    whiteblack = []
    colors = ['B', 'R', 'Y', 'O', 'G', 'P']
    color_code = random.sample(colors, 4)         
    print ("HIDDEN CODE", color_code)
    num = int(input('Please enter number of players: '))
    for i in range(num):
             names = input('Please enter a name: ')
             p_record.append([names, 0, 0])
             print(p_record)
             print(len(p_record))
    print(names + ",", "make a guess of 4 colors from RGBYOP: ")          
    player_guess = input("").upper()               
    for i in range(len(player_guess)):                     
             if player_guess[i] == color_code[i]:
                      black += 1
                      score += 5
                      whiteblack.append("B")
             if player_guess[i] != color_code[i] and player_guess[i] in color_code:
                      white += 1
                      score += 1
                      whiteblack.append("W")

             else:
                      whiteblack.append("")

    color_codeString = ''.join(color_code)                      
    whiteblackString = ''.join(whiteblack)              
    print("Result", whiteblackString)
    print("Current player:", names, "Current Score:", score % score)                                  
    print("Current player:", names, "Updated Score:", score)
    if(player_guess == color_codeString):
             print("Winner: ", p_record)            


main()

Вот результат, который я хотел.

Введите количество игроков: 3

Введите имя игрока: alan

Введите имя игрока: betty

Введите имя игрока: Синди Алан, угадайте 4 цвета из RGBYOP: BYOP

Результат WWB

Текущий игрок: Алан Текущий счет: 0

Текущий игрок: Алан Обновленный счет: 7

Бетти, угадай 4 цвета от RGBYOP: BYOR

Результат WB

Текущий игрок: Бетти Текущий счет: 0 Текущий игрок: Бетти Обновлен счет: 0

Синди, угадай 4 цвета из RGBYOP: BYPG

Результат WWWB Текущий игрок: Синди Текущий счет: 0 Текущий игрок: Синди Обновлено Оценка: 1

Алан, угадай 4 цвета от RGBYOP: BPGY

Результат BBBB Текущий игрок: Alan Текущий рейтинг: 7 Текущий игрок: Алан обновил счет: 22 * ​​1035 *

Правильное предположение!

[['' Alan ', 22, 2], [' Betty ', 0, 0], [' Cindy ', 1, 0]] Победитель: [' Alan ', 22, 2]

1 Ответ

0 голосов
/ 29 августа 2018

Вам просто нужно пройтись по списку p_record. Вот простой пример.

p_record = [
    ['Alan', 0, 0],
    ['Betty', 0, 0],
    ['Cindy', 0, 0],
]

game = True
while game:
    for player in p_record:
        print(player)
        player[1] += 1
        if player[1] > 3:
            game = False
            break

выход

['Alan', 0, 0]
['Betty', 0, 0]
['Cindy', 0, 0]
['Alan', 1, 0]
['Betty', 1, 0]
['Cindy', 1, 0]
['Alan', 2, 0]
['Betty', 2, 0]
['Cindy', 2, 0]
['Alan', 3, 0]

Вы также можете найти здесь полезные примеры: Запрашивать у пользователя ввод, пока он не даст действительный ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...