0
import random
import time
x = 1
def clear():
    print "\n" * 100


while x == 1:
    number1 = random.randrange(1,5)
    number2 = random.randrange(1,13)
    strength = number2/number1+10
    number3 = random.randrange(1,5)
    number4 = random.randrange(1,13)
    skill = number4/number3+10
    clear()
    print 'Hello and Welcome to the Character Charactaristics Machine'
    time.sleep(1)
    clear()
    qname = raw_input("What is your Character's name?:")
    time.sleep(1)
    clear()
    print "We will now determine", qname,"'s Charactaristics"
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    character = (qname,"'s skill level is",skill,"and strength level is" ,strength,)
    print character
    x = 2
    characterdata = open("test.txt", "w")
    characterdata.write(character)
    characterdata.close

キャラクターの名前を入力すると、その強さとスキルレベルが生成されるプログラムを作成しています。キャラクターの名前とスキル/強さのレベルが一種のデータベースに保存されるようにしたい. 文字列「文字」(文字の詳細) が test.txt ドキュメントに表示されるようにしようとしていますが、次のエラーが発生します。

Traceback (most recent call last):
  File "C:\Users\George\Documents\School Work\Characterisitcs of character the code.py", line 34, in <module>
    characterdata.write(character)
TypeError: expected a character buffer object

助けて?、ありがとう

4

2 に答える 2

0

その他の 3 つの可能性:

character = ''.join(map(str, (qname,
                              "'s skill level is ",
                              skill,
                              ' and strength level is ',
                              strength,
                              )))
character = "%s's skill level is %s and strenght level is %s" % (qname, skill, strength)
character = "%(qname)s's skill level is %(skill)s and strength level is %(strength)s" \
            locals()

最後のバリアントは、i18n に適しているため、最適と見なすことができます (順序の変更を含め、翻訳することができます)。

于 2013-12-14T14:24:08.750 に答える