- 帖子
- 4
- 精华
- 0
- 积分
- 50
- 阅读权限
- 20
- 注册时间
- 2015-11-5
- 最后登录
- 2016-2-22
|
请教下,game1.txt中原来有两条记录,但是只要加上最后一段的写文件(f.write),game1.txt就被清空了,一片空白,原来的记录没有了。哪里出问题了?(python3.3;PyScripter V2.6 x86). 谢谢~
from random import randint
name = input('Input Your Name:')
f = open('C:\Documents and Settings\Administrator\My Documents\game1.txt')
lines = f.readlines()
#print (lines)
f.close()
scores = {}
for l in lines:
# print(l)
s = l.split()
# print (s)
scores[s[0]] = s[1:]
# print (scores)
score = scores.get(name)
#print(score)
if score is None:
score = [0,0,0]
game_times = int(score[0]) + 1
min_times = int(score[1]) + 2
total_times = int(score[2]) + 3
if game_times > 0:
avg_times = float(total_times) / game_times
else:
avg_times = 0
print ('%s,你已经玩了%d次,最少%d轮猜出答案,平均%.2f轮猜出答案' % (
name, game_times, min_times, avg_times))
num = randint(1,100)
times = 0 #记录本次游戏轮数
print ('Guess what i think')
scores[name] = [str(game_times), str(min_times), str(total_times)]
#print(scores[name])
#print(scores)
result = ''
for n in scores:
line = n + ' ' + ' '.join(scores[n]) + '\n'
# print(n)
# print(scores[n])
# print (' '.join(scores[n]))
result += line
# print (line)
# print(result)
print (result)
f = open('C:\Documents and Settings\Administrator\My Documents\game1.txt','w')
f.write (result)
#print(result)
f.close
|
|