Я новичок ie в программировании, и я попытался написать простой код, который должен задать пользователю вопрос и добавить балл, если ответ правильный, или убрать балл, если ответ неправильный. Проблема возникает, когда я пытаюсь сохранить счет для следующего открытия «игры».
Мой код выглядит так:
from random import randint as ran
from os import remove as rem
from os import rename as ren
name = input("Whats ur name?(the name is case sensitive)\n")
sco = []
i = -1
s = 0
NewUser = False
update = open ("score.tmp", "w")
getpoint = open ("score.txt", "r")
for line in getpoint:
a = line.split()
sco.append(a)
getpoint.close()
try:
for item in sco:
i = i + 1
if(sco[i][0]) == name:
s = sco[i][1]
break
else:
continue
except:
NewUser = True
#some random code here
if NewUser == True:
with open ("score.txt", "a") as the:
the.write(name + " " + str(s) + "\n")
elif NewUser == False:
sco[i][1] = s
Update = (str(sco).strip("[]"))
update.write(Update)
rem("score.txt")
update.close()
ren("score.tmp", "score.txt")
Теперь в обоих случаях (NewUser == True и NewUser == False) предыдущий счет в файле score.txt удаляется. Даже несколько дней назад, когда тот же самый код по какой-то причине «работал так, как должен», например, если score.txt выглядел так:
Ann 100
Daven 180
Bella 90
Brandon 80
, код вернул бы это:
[Ann], [100], [Daven], [180], [Bella], [90], [Brandon], [80]
, и это делает невозможным работу программы в следующий раз, когда кто-нибудь ее запустит: (
Пожалуйста, помогите решить эту проблему.