Я понял, но как сделать так, чтобы при каждом сообщении об ошибке можно было сразу ввести новое значение?
Вот так:
- Сколько денег(в рублях) ты хочешь положить в копилку?
- fff
- Ошибка! Попробуй написать только число(без букв и символов)
- 123
- Ты положил 123₽
Теперь в копилке 123₽
1. Если я вынесу запись файла за for, то будут выводиться названия только с первой страницы, а их там. За циклом работает только самый первый элемент списка.
2. Если я вынесу запись файла за while, то будет выводиться только последний элемент. Код сработает, и выведется только последний элемент.
Попробуйте запустить код со всеми зависимостями и замените запись файла на print print(res)
Там будет в "онлайне" перебираться каждое название игр. "Онлайн" как раз и создается с помощью for, и если не занести запись файла в этот цикл, то "онлайна" не будет, и код будет работать некорректно, т.е. будут выводиться не все названия, а только лишь часть или вообще только одно название.
Как иначе сделать запись файла, кроме как не в цикле for?
shurshur, смысл while в том, что происходит запись каждого элемента списка до тех пор пока не закончатся страницы на сайте, иначе в файл после записи названий игр записывались бы пустые строки, ибо больше нет страниц с информацией.
file = open("games_list.txt", "a", encoding='utf-8')
for elements in items:
title = elements.select(".caption > a")
res = title[0].text
file.write(res + "\n")
Вы правы, но в данном случае я вношу в текстовый файл по очереди каждый элемент сайта. Я вынес with open за цикл и у меня отобразились элементы только с первой страницы сайта, в котором "достаю" названия игр. В цикле значение не заносится повторно, а по очереди заносит в файл названия игр с каждой страницы.