Я создал игру в стиле «вдохновителя», в которой пользователь угадывает точную последовательность чисел, генерируемых компьютером.
Я хотел добавить функцию, в которой предыдущие догадки были сохранены, чтобы их можно было воспроизвести пользователю перед тем, как сделать следующее предположение
В моей голове и с текущим макетом программы я подумал, что было бы хорошо, если бы я мог создать серию «pul» (предыдущий список пользователей).
Например, по мере выполнения l oop и увеличения переменной "count" списки соответствующим образом именуются.
cl, список компьютеров
ul, список пользователей
ol, список вывода
pul, список предыдущего пользователя
, когда count = 0, пользовательские входы создают ul = [1, 3, 4, 8]
pul_0 = ul
'# so pul_0 = [1, 3, 4, 8]
и когда count = 1, пользователь создает новый список для ul = [2, 2, 9, 0]
pul_1 = ul
'# so pul_1 = [2, 2, 9, 0]
' # и, конечно, pul_0 все еще = [1, 3, 4, 8]
An Спасибо за помощь, спасибо заранее.
Вот немного кода, чтобы дать больше деталей, полная программа внизу, чтобы дать больше контекста, если это необходимо.
n = int(input("how many numbers to guess? (normally 4)"))
att = int(input("how many attempts? (normally 10)"))
count = 0
while count < att:
ul = [int(input()) for i in range(n)]
pul(count) = ul
count = count + 1
Я прочитал немного об использовании словарей, чтобы решить эту проблему, но не заставил их работать для меня создать списки уникальных имен для -l oop в python
{'pul_{}'.format(count):[] for i in ul}
полная программа ниже
n = int(input("how many numbers to guess? (normally 4)"))
att = int(input("how many attempts? (normally 10)"))
cl = [randint(0, 9) for i in range(n)]
wincount = 0
count = 0
while count < att:
print(att-count, "attempts remaining. Please enter",n, "numbers, pressing enter between each")
ul = [int(input()) for i in range(n)]
wincount = 0
nearcount = 0
for i in range (n):
if cl[i] == ul[i]:
wincount = wincount + 1
for j in range (n):
if cl[i] == ul[j]:
nearcount += 1
nearcount = nearcount - wincount
if wincount == n:
print("winner")
count = att + 1
if wincount != n:
print("you have", wincount,"correct numbers in the correct positions")
print("you have a further", nearcount,"correct numbers, but they are in the wrong positions")
count = count + 1
if count == att:
print("no more attempts, game over")
print("btw the correct answer was", cl)
elif count == att + 1:
print("nice 1")
'''
I have read a small amount about using a dictionary to try and solve this issue, but i played around with it a little and didn't get very far.
Thanks in advance!