Считалка

Что нужно сделать

N человек, пронумерованных числами от 1 до N, стоят в кругу. Они начинают играть в считалку на выбывание, где каждый K-й по счёту человек выбывает из круга, после чего счёт продолжается со следующего за ним человека.

На вход подаётся количество человек N и номер K. Напишите программу, которая выводит число от 1 до N — это номер человека, который останется в кругу последним.

Пример:

Кол-во человек: 5
Какое число в считалке? 7
Значит, выбывает каждый 7-й человек

Текущий круг людей: [1, 2, 3, 4, 5]
Начало счёта с номера 1
Выбывает человек под номером 2

Текущий круг людей: [1, 3, 4, 5]
Начало счёта с номера 3
Выбывает человек под номером 5

Текущий круг людей: [1, 3, 4]
Начало счёта с номера 1
Выбывает человек под номером 1

Текущий круг людей: [3, 4]
Начало счёта с номера 3
Выбывает человек под номером 3

Остался человек под номером 4

Что оценивается

  • Результат вычислений корректен.
  • Input содержит корректные приглашения для ввода.
  • Формат вывода соответствует примеру.
  • Переменные и функции имеют значащие имена, не только a, b, c, d
humans = int(input('Количество человек: '))
humans_list = list(range(1, humans + 1))
num = int(input('Какое число в считалке: '))
print(f'Значит выбывает каждый {num}-й человек.')
start = 0

while len(humans_list) != 1:
    print(f'\nТекущий круг людей: {humans_list}')
    index = start % len(humans_list)
    print(f'Начало счета с {humans_list[index]} человека.')
    start = (index + num - 1) % len(humans_list)
    print(f'Выбывает человек под номером {humans_list[start]}.')
    humans_list.remove(humans_list[start])

print('\nОстался человек под номером ', *humans_list)