2014-03-04 3 views
-1

В основном у меня есть код, который вводит 2 случайных числа для силы и навыка. Эти 2 входа, которые я хотел бы сохранить в блокноте. Число генерирует случайное число для силы и умения, и я хотел бы, чтобы номер сохранялся в блокноте каждый раз. Поэтому, когда я оглядываюсь на блокнот, он показывает последнее число, которое было сгенерировано. Это мой код до сих пор:Сгенерированный номер на python, открытый в блокноте?

import random 

playname1 = str(input("Enter player one name")) 
print("Welcome",playname1) 

strength1 = random.randint(1,12) 

strength2 = random.randint(1,4) 

strength3 = (strength1/strength2) 

strength4 = round(strength3) 

strength5= (10+strength4) 

print ("Your strength is...",strength5) 

skill1 = random.randint(1,12) 

skill2 = random.randint(1,4) 

skill3 = (skill1/skill2) 

skill4 = round(skill3) 

skill5= (10+skill4) 

print ("Your skill is...",skill5) 

Следующая часть коды я хотел бы два числа для силы и умения, чтобы быть сэкономить на блокноте.

+2

By «блокнота», вы имеете в виду «текстовый файл», например, файл, который вы можете открыть в «Блокноте»? – svk

+3

Вы уже задали этот вопрос: http://stackoverflow.com/questions/22179180/save-python-data-onto-a-notepad-file. Вы можете отредактировать этот вопрос вместо того, чтобы начинать новый и фрагментировать вещи. – bytbox

+0

Я как бы новичок в этом – user3380211

ответ

0

самый простой способ

import os 
strength5,skill5 =10,20 
with open("data.txt") as f: 
    f.write("%s %s"%(strength5, skill5)) 
os.startfile("data.txt") 

предполагая, я понимаю, что вы имеете в виду под «сэкономить на блокнотом» (например, вы не значит, запишите его на заметкой?)

+0

, когда я попробую, он говорит: Traceback (последний последний звонок): Файл «C: \ Users \ user \ Desktop \ Python CW \ q2.py», строка 23, в печать >> е, strength5, skill5 TypeError: неподдерживаемый тип операнда (ов) для >>: 'builtin_function_or_method' и '' _io.TextIOWrapper >>> – user3380211

+0

не осуществил это python3 ... фиксированный ... –

0

Вы не укажите версию Python, которую вы используете, но, согласно вашему синтаксису, я предполагаю, что вы используете Python3? Прежде всего, вам не нужно делать str(input(...)) - это уже str.

В Python3, правильный способ записи в файл:

with open('text.txt', 'w') as f: 
    print('a sentence', file=f) // this will add a new line at the end automatically 
    // or you can do: 
    // f.write('a sentence\n') 
    // since write doesn't add new line automatically, you need to explicitly type \n 
+0

Как я бы сделал так, чтобы он печатал любые случайные числа для силы и мастерства? – user3380211

+0

@ user3380211 'print ('strength: {}, skill: {}'. Format (strength, skill), file = f)' принятие 'strength' и' skill' в 'format()' являются переменными, в которых вы храните два числа. – Xufeng

+0

Я попробовал и не работал для меня, мог бы вы точно написать код? – user3380211

0

Открыть файл в вашей инициализации.

f = open('output.txt', 'w') 

Обратите внимание, что это открывает его в режиме записи, поэтому все предыдущие данные стираются. Если вы хотите добавить Используйте

f = opr('output.txt', 'a') 

Теперь просто написать текстовые данные

datatxt = ' '.join(str(strength5), str(skill5)) 
f.write(datatxt) 

После того, как вы полностью закончить

f.close() 
Смежные вопросы