2014-11-15 2 views
2

Пожалуйста, имейте в виду, что я новичок в программировании. Я пытаюсь сделать игру «Угадай номер» и хочу экспортировать случайное число в текстовый файл. Я не хочу, чтобы он каждый раз переписывал числа, я просто хочу, чтобы он каждый раз помещал новый номер, но я не знаю, как записать номер в .txt-файл. Любая помощь? Вот мой код:Как заставить Python 3.4 выводить my randnum в текстовый файл?

def easy(): 
    print ("") 
    print ("Difficulty: Easy") 
    print ("") 
    irand = randrange(1,10) 
    with open("GTN.txt", "a") as text_file: 
     text_file.write(irand + "\n") 
    while True: 
     number = input("Pick a number 1 - 10: ") 
     try: 
      number = int(number) 
     except ValueError: 
      print(" ") 
      print(number, 'is not a number, try again.') 
      continue 
     if number > irand: 
      print("That's too high, try again.") 
      print(" ") 
      time.sleep(1) 
     elif number < irand: 
      print("That's too low, try again.") 
      print(" ") 
      time.sleep(1) 
     elif number == irand: 
      print(" ") 
      print("You got it right! You won!") 
      print(" ") 
      time.sleep(2) 
      main() 
      break 

Благодарим вас за помощь всем, кто может мне помочь.

+0

Итак, вы уже в состоянии писать цифры, как я вижу, но вы хотите, чтобы ваш файл содержит уникальный числа каждый раз, когда вы записываете новый случайный номер? –

+0

@Tanveer Alam Да, это в значительной степени то, что я хочу сделать. –

+0

Ну, как вы открыли свой файл в режиме добавления, и randrang (1,10) может дать вам 9 уникальных значений, после чего он начнет писать дубликаты номеров в вашем файле. Но, похоже, вы уже приняли ответ. –

ответ

2

Вам просто нужно бросить irand из int в str, кроме того, что ваш код хорошо:

text_file.write(str(irand) + "\n") 
+0

Большое вам спасибо! Помог мне много. :) Хорошего дня. –

+0

Не беспокойтесь, вы тоже. –

Смежные вопросы