Мне нужна помощь в задании, которое я выполняю в Python 3.5.0. У меня есть текстовый файл, который отображает верхние 5 баллов в программе, где они находятся. Мне нужна помощь, помещая их в массив, а затем используя этот массив, чтобы затем выводить таблицу лидеров. Таблица лидеров находится в следующем формате:
1. User1, Points
2. User2, Points
3. User3, Points
4. User4, Points
5. User5, Points
заранее спасибо
leaderboard = []
f = open('Leaderboard.txt','r')
for i in range(1,5):
x = file.readline(i)
leaderboard[i] = x
Вы используете свою петлю все неправильно. Не предполагайте, сколько строк у вашего файла.
# leaderboard = []
f = open('Leaderboard.txt', 'r')
leaderboard = [line.replace('\n','') for line in f.readlines()]
for i in leaderboard:
print(i)
выход:
1. User1, Points
2. User2, Points
3. User3, Points
4. User4, Points
5. User5, Points
Обратите внимание, что вы должны, вероятно, хотите использовать with
. Если вы хотите использовать файл и не забудьте закрыть его потом:
with open('Leaderboard.txt', 'r') as f:
leaderboard = [line.replace('\n','') for line in f.readlines()]
да нет не сегодня или никогда я не могу быть обеспокоен
Вы упоминаете, что вы не так хороши в обработке файлов. Прежде всего, это всегда разумно использовать:
with open("Leaderboard.txt", "r") as f:
// do something
Это встроенный метод python, причем первым параметром является файл, к которому вы обращаетесь. Второй параметр - это то, как вы хотите получить доступ к файлу, поставив "r", мы указываем, что хотим прочитать файл. У вас есть больше способов доступа к файлу, "w" указывает, что вы также хотите поместить что-то в файл. У вас есть больше, но это выходит за рамки этого вопроса. "Как f" в конце в основном хранит файл в переменной, эту переменную вы можете манипулировать.
Следующий шаг - проверить правильность чтения данных. Вы можете использовать f.read() для этого:
with open("Leaderboard.txt", "r") as f:
data = f.read()
print(data)
Попытайтесь выяснить, что содержит переменная данных. Я могу сказать, что это строка. Теперь вы можете манипулировать струной своим сердечным содержимым. Посмотрите на другие ответы, что делать со строкой, чтобы получить желаемый результат.
Вы также можете использовать data = f.readlines(), распечатать данные, чтобы увидеть, что отличается от него по сравнению с использованием данных = f.read()