-1

私はこのコードを持っています。

# -*- coding: utf-8 -*-
import pickle
import random

guessesTaken = 0

print('Hello! What is your name?')
name = raw_input()
number = random.randint(1, 20)
print('Well, ' + name + ', I am thinking of a number between 1 and 20.')

while guessesTaken < 6:
    print('Take a guess.') # There are four spaces in front of print.
    guess = raw_input()
    guess = int(guess)

    guessesTaken = guessesTaken + 1

    if guess < number:
        print('Your guess is too low.') # There are eight spaces in front of print.

    if guess > number:
        print('Your guess is too high.')

    if guess == number:
        break

if guess == number:
    guessesTaken = str(guessesTaken)
    print('Good job, ' + name + '! You guessed my number in ' + guessesTaken + ' guesses!')


has= str(name) + '    ' + str(guessesTaken)


f='toplevel.data'
f = open(f, 'wb')
pickle.dump(has, f) # depunem (engl. dump) obiectul în fişier
f.close()

私は問題があります。もう一度プレイすると、この「ゲーム」toplevel.dataは新しいファイルで更新されます。このゲームをもう一度プレイした場合、toplevel.dataが新しいファイルで更新されないようにしたいと思います。新しいファイルを次のような古いファイルの後に配置したい:古いファイル新しいファイル(1)新しいファイル(2)新しいファイル(3).....................。 ...............英語でごめんなさい。

4

2 に答える 2

1

私があなたの問題を正しく理解したなら、あなたはファイルの一番上ではなく最後に書きたいと思うでしょう。

ファイルを追加モードで開くa+か、ファイルポインタを末尾に設定することができますf.seek(-1,2)

于 2012-08-23T07:36:05.847 に答える
0

既存のファイルを数えることで、ファイルに番号を付けることができます。

import os, glob

# ...

files = glob.glob('toplevel*.data')
filename = 'toplevel{n}.data'.format(n=len(files))

with open(filename, 'wb') as handle:
  pickle.dump(has, handle) # depunem (engl. dump) obiectul în fişier
于 2012-08-23T07:36:01.857 に答える