Размещено 4 года назад по предмету
Информатика
от gvozdb27
Привет, помогите с задачей (язык Python):
N человек, пронумерованных числами от 1 до N, стоят в кругу. Они начинают играть в считалку на выбывание, где каждый K-й по счёту человек выбывает из круга, после чего счёт продолжается со следующего за ним человека. На вход подаётся количество человек N и номер K. Напишите программу, которая выводит число от 1 до N — это номер человека, который останется в кругу последним.
members = [] n = int(input('Сколько всего человек? ')) number = int(input('Какое число в считалке? ')) print('Значит, выбывает каждый', number, 'человек.n') out = 0 members = list(range(1, n + 1)) while len(members) > 1: ``print('Текущий круг людей:', members) ``start_count = out % len(members) ``out = (start_count + number - 1) % len(members) ``print('Начало счёта с номера', members[start_count]) ``print('Выбывает человек под номером', members[out]) ``print() ``members.remove(out + 1) print('Остался человек под номером', members)
Проблема, когда остаются 2 человека, вылетает ошибка, она в комментах. Как её исправить?