Loading...
skeila avatar skeila 0 Точки

Hot patato

Условието: 

Hot potato is a game in which children form a circle and start passing a hot potato. The counting starts with the first kid. Every nth toss the child left with the potato leaves the game. When a kid leaves the game, it passes the potato along. This continues until there is only one kid left.

Create a program that simulates the game of Hot Potato. Print every kid that is removed from the circle. In the end, print the kid that is left last.

Дава ми 80/100 и не мога да разбера къде ми е грешката:

from collections import deque

people = input().split(' ')
toss = int(input())
players = deque(people)
i = 1
#print (players)
while players:
    person = players.popleft()

    if i == toss :
        print(f'Removed {person}')
        i = 0
        if len(players) == 1:
            print(f'Last is {players.pop()}')
            break
    else:
        players.append(person)
    i += 1
Тагове:
0
Python
MartinBG avatar MartinBG 4803 Точки

Не покриваш случая, когато има само един човек в списъка - тогава не извеждаш "Last player is ...."

Това е поправеният код:

from collections import deque

people = input().split(' ')
toss = int(input())
players = deque(people)
i = 1
#print (players)
while len(players) > 1:
    person = players.popleft()

    if i == toss :
        print(f'Removed {person}')
        i = 0
    else:
        players.append(person)
    i += 1

print(f'Last is {players.pop()}')

 

1
27/04/2020 01:38:45
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.