Loading...
fumanbest avatar fumanbest 10 Точки

Това с речниците вероятно е вариант, понеже задачата е от преди речниците, ако не се лъжа. Но е оригинално, благодаря !

Търся и решението на Faro Shuffle от Lists Basics Exercise.  Достигам до 20/100 и не мърдам нагоре.

     Faro Shuffle
A faro shuffle of a deck of playing cards is a shuffle in which the deck is split exactly in half and then the cards in the two halves are perfectly interwoven, such that the original bottom card is still on the bottom and the original top card is still on top.
For example, faro shuffling the list
['ace', 'two', 'three', 'four', 'five', 'six'] once, gives ['ace', 'four', 'two', 'five', 'three', 'six' ]
Write a program that receives a single string (cards separated by a space) and on the second line receives a number of faro shuffles that have to be made. Print the state of the deck after the shuffle
Note: The length of the deck of cards will always be an even number
Example:
Input:
a b c d e f g h
5

Output:
['a', 'c', 'e', 'g', 'b', 'd', 'f', 'h']


Input:
one two three four
3

Output:
['one', 'three', 'two', 'four']
    

 

0
heksimix avatar heksimix 2 Точки

Здравей, това е работещо решение: 

https://pastebin.com/kGxati8f

Сигурно има и по-оптимално решение :) 

0
astankin avatar astankin 5 Точки

Едно изчистено решение от мен.

deck = input().split()
shuffle_count = int(input())
half = len(deck) // 2
for _ in range(shuffle_count):
    new_deck = []
    first_half = deck[:half]
    second_half = deck[half:]
    for i in range(len(first_half)):
        new_deck.append(first_half[i])
        new_deck.append(second_half[i])
    deck = new_deck
print(deck)
0
05/06/2022 21:44:28
fumanbest avatar fumanbest 10 Точки

Mersi mnogo !

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