Numpy и pandas - мощные инструменты в программировании на Python, но попытка работать без них помогает учиться лучше. Они предоставляют разнообразные полезные функции и классы объектов, для работы без которых вам, возможно, придется определять свои собственные.
Чтобы отобразить желаемое табло, я бы порекомендовал вам определить свой собственный класс табло. Я приведу вам такой пример:
class ScoreBoard:
def __init__(self):
self.player_score = [1,0,1,1,0]
self.cpu_score = [0,1,0,0,1]
def __str__(self):
string = '\t'
for i in range(len(self.player_score)):
string += 'G%d '%(i+1)
string = string + '\n\nPlayer\t'
for i in range(len(self.player_score)):
string += '%d '%self.player_score[i]
string = string + '\nCPU\t'
for i in range(len(self.cpu_score)):
string += '%d '%self.cpu_score[i]
return string
def record_score(self, player_score, cpu_score):
self.player_score.append(player_score)
self.cpu_score.append(cpu_score)
и если вы
a = ScoreBoard()
print(a)
a.record_score(1, 0)
print(a)
, это будет показано:
G1 G2 G3 G4 G5
Player 1 0 1 1 0
CPU 0 1 0 0 1
G1 G2 G3 G4 G5 G6
Player 1 0 1 1 0 1
CPU 0 1 0 0 1 0
Очевидно, что нужно сделать больше, чтобы этот класс работал хорошо.
1) Начальные значения player_score и cpu_score должны быть []
2) Что если на табло пусто? Когда он пуст, вы бы украсили строку вывода?
3) Есть ли вероятность, что это ничья, как Rock против Rock? Если нет, то cpu_score можно рассчитать, если у вас есть player_score. В этом случае один из этих двух не является необходимым.
4) Возможно, он может стать табло для большего количества игр, где больше игроков?
5) Возможно, вы даже можете определить свои собственные помеченные 2D-массивы, например, pandas.DataFrame?
Если вы еще не узнали об объектно-ориентированном программировании в Python, вы можете спросить. Вы также можете узнать больше в Руководствах по программированию на Python .