2013-02-16 1 views
0

Инструкция:Случайного Номер файл Writer

  • Написать программу, которая записывает серию случайных чисел в файл.
  • Каждое случайное число должно быть в диапазоне от 1 до 100.
  • Приложение должно позволить пользователю указать, сколько случайных чисел будет храниться в файле.

Вот что у меня есть:

import random 

afile = open("Random.txt", "w") 

for line in afile: 
    for i in range(input('How many random numbers?: ')): 
     line = random.randint(1, 100) 
     afile.write(line) 
     print(line) 

afile.close() 

print("\nReading the file now.") 
afile = open("Random.txt", "r") 
print(afile.read()) 
afile.close() 

Несколько проблем:

  1. Это не пишущие случайных чисел в файле на основе диапазона пользователь настройки.

  2. Файл не может быть открыт после открытия.

  3. Когда файл читается, ничего.

Хотя я думал, что настройка была в порядке, она, кажется, всегда застревает при исполнении.

ответ

4

Избавьтесь от for line in afile: и вытащите из него то, что в нем было. Кроме того, поскольку input возвращает строку в Python 3, сначала преобразуйте ее в int. И вы пытаетесь записать целое число в файл, когда вам нужно написать строку.

Это то, что он должен выглядеть следующим образом:

afile = open("Random.txt", "w") 

for i in range(int(input('How many random numbers?: '))): 
    line = str(random.randint(1, 100)) 
    afile.write(line) 
    print(line) 

afile.close() 

Если вы обеспокоены тем, что входной пользователь может нецелый, вы можете использовать try/except блок.

afile = open("Random.txt", "w") 

try: 
    for i in range(int(input('How many random numbers?: '))): 
     line = str(random.randint(1, 100)) 
     afile.write(line) 
     print(line) 
except ValueError: 
    # error handling 

afile.close() 

То, что вы пытались сделать, было перебирать линий afile, когда не было ни одного, так что это на самом деле не делать ничего.

+0

Спасибо за ответ, когда я запускал код, который я получаю эту ошибку файл «C: /Users/Owner/Desktop/ei8069_Assignment_Q1.py», строка 19, в afile.write (линия) TypeError: ожидал объект символьного буфера Что мне делать? кажется, что он не пишет в файл, как я хочу .... –

+0

@ThomasJones см. редактирование – Volatility

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

  • Нет связанных вопросов^_^