Я пишу код на Python всего около 4 недель. Я пишу небольшую текстовую игру, чтобы узнать и проверить все, что я знаю. Я легко могу сделать это с помощью значения, введенного в консоль в виде целого числа, но по какой-то причине я не могу заставить свой код работать с чтением этого значения из текстового файла.
Ранее в программе мой код сохранял значение в текстовый файл, всего одно значение, затем позже он открывает тот же текстовый файл, перезаписывает значение новым значением на основе очень простого вычисления. Это первое значение плюс 5. Я потратил кучу времени, читая этот сайт и просматривая свои книги, и на данный момент я почти уверен, что упускаю что-то очевидное.
Первый фрагмент кода, который создает документ и устанавливает значение:
def set_hp(self):
f = open('player_hp.txt', 'w')
self.hitpoints = str(int(self.hitpoints))
f.write(self.hitpoints)
f.close()
Это раздел проблем ... Я прокомментировал строку с проблемой.
def camp_fire():
print
print "You stop to build a fire and rest..."
print "Resting will restore your health."
print "You gather wood from the ground around you. You spark\n\
your flint against some tinder. A flame appears.\n\
You sit, and close your eyes in weariness. A peaceful calm takes you\n\
into sleep."
f = open('player_hp.txt', 'r')
orig_hp = f.readlines()
orig_hp = str(orig_hp)
f = open('player_hp.txt', 'w')
new_value = orig_hp + 5 ##this is where my code breaks
new_value = str(int(new_value))
f.write(new_value)
f.close()
print "You have gained 5 hitpoints from resting. Your new HP are {}.".format(new_value)
Это ошибка, которую я получаю:
File "C:\Python27\Awaken03.py", line 300, in camp_fire
new_value = orig_hp + 5
TypeError: cannot concatenate 'str' and 'int' objects
Я знаю, что вы не можете объединить строку и целое число, но я продолжаю пробовать разные методы для преобразования строки в целое число для быстрой математики, но я не могу понять, как это правильно.