Python

Python. Пожалуйста помогите решить задание!!!

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

Андрей Иванов
Андрей Иванов
8 408
Лучший ответ
I Do Not Like Them.. Это программа функционирует не правильно
amount = int(input('Кол-во человек: '))
number = int(input('Какое число в считалке?: '))
print('Значит выбывает каждый', number,'-й человек')
a_amount = list(range(1, amount + 1))
start = 0
while len(a_amount) > 1:
print('Текущйи круг людей: ', a_amount)
start_count = start % len(a_amount)
print('Начало счёта с номера: ', a_amount[start_count])
start = (start_count + number - 1) % len(a_amount)
print('Выбывает человек под номером', a_amount[start])
a_amount.remove(a_amount[start])
print()
print('Остался человек под номером', a_amount)
MK
Mr. Klopik
212
Aleksandr Blond Спасибо!!!
people = int(input('Кол-во человек: '))
number = int(input('Какое число в считалке? '))
print(f'Значит выбывает каждый {number}-й человек')
list_people = list(range(1, people + 1))
start = 0
while len(list_people) > 1:
print('\nТекущий круг людей: ', list_people)
start_count = start % len(list_people)
print('Начало счёта с номера', list_people[start_count])
start = (start_count + number - 1) % len(list_people)
print('Выбывает человек под номером', list_people[start])
list_people.remove(list_people[start])

print('\nОстался человек под номером', *list_people)
amount_peaoples = int(input('Кол-во человек: '))
number = int(input('Какое число в считалке?: '))
print('Значит, выбывает каждый', number, 'человек')

list_peoples = list(range(1, amount_peaoples + 1))
count = 0

while len(list_peoples) > 1:
~~~~print('Текущий круг людей: ', list_peoples)
~~~~print('Начало счёта с номера:', list_peoples[count])
~~~~count = (count + number - 1) % len(list_peoples)
~~~~if list_peoples[count] == list_peoples[-1]:
~~~~~~~~print('Выбывает человек под номером:', list_peoples.pop(count))
~~~~~~~~count = 0
~~~~else:
~~~~~~~~print('Выбывает человек под номером:', list_peoples.pop(count))
print('Остался человек под номером:', list_peoples[0])

Поправил решение
Анатолий Ларионов подправить надо (count + number + 1)
Сергей Шептий Сколько времени обучения уходит, чтобы такого рода задачи решать?
Алексей Рофлянский переменную peoples лучше исправить на people. Все же людей считаем, а не народы