Таблица лидеров из текстового файла в Python

1

Мне нужна помощь в задании, которое я выполняю в 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
  • 3
    Добро пожаловать в стек переполнения. Пожалуйста, измените ваш вопрос, чтобы включить в него то, что вы уже пробовали, и почему это не работает.
  • 0
    ах, извини, не видел этого
Показать ещё 5 комментариев
Теги:
python-3.x

3 ответа

0
Лучший ответ

Вы используете свою петлю все неправильно. Не предполагайте, сколько строк у вашего файла.

# 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()]
  • 0
    Я не предполагал, сколько строк в нем, таблица лидеров хранит только первые 5, и только 5 пользователей будут использовать ее, поскольку она имеет аутентификацию. Кроме того, это не был мой настоящий код, мне пришлось быстро скомпилировать его, чтобы привести пример, так как у меня нет настоящего кода сейчас. И как на самом деле работает? Я никогда не использовал это раньше
  • 0
    Как этот массив выглядит внутри кода? Мол, сможет ли он быть отсортирован в числовом порядке
Показать ещё 3 комментария
0

да нет не сегодня или никогда я не могу быть обеспокоен

0

Вы упоминаете, что вы не так хороши в обработке файлов. Прежде всего, это всегда разумно использовать:

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()

https://docs.python.org/3.6/tutorial/inputoutput.html

  • 0
    Спасибо, я благодарен за помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню