The question is in bold and the rest is there for support , to explain concepts  Write a function triple_riffle(mylist) which takes as input a list (which for convenience we will always take with length a multiple of 3) and outputs the result of a 3-way riffle shuffle . For example: an input of range(9) should output [6,3,0,7,4,1,8,5,2].   Write a function triple_riffle_repeat(mylist,n) which takes as input a list (again with length a multiple of 3) and outputs the result of doing a 3-way riffle shuffle n times.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

The question is in bold and the rest is there for support , to explain concepts 

Write a function triple_riffle(mylist) which takes as input a list (which for convenience we will always take with length a multiple of 3) and outputs the result of a 3-way riffle shuffle . For example: an input of range(9) should output [6,3,0,7,4,1,8,5,2]. 

 Write a function triple_riffle_repeat(mylist,n) which takes as input a list (again with length a multiple of 3) and outputs the result of doing a 3-way riffle shuffle n times.

Faro shuffle is when a deck of cards is split exactly in half and then the two halves are interleaved exactly. There are two versions: an out-shuffle where the card in position 1 stays where it is (and likewise the card in the last position stays there), and an in-shuffle where the card in position 1 moves to position 2 (and the card in last position moves up one). The following code prints the result of a Faro out-shuffle on the list [1,2,...,52].

deck = list(range(1,53))
firsthalf, secondhalf = deck[:26], deck[26:]
shuffleddeck = []
for i in range(26):
    shuffleddeck.extend([firsthalf[i],secondhalf[i]])
print(shuffleddeck)
With the aid of a computer (because it is not easy to do with only two hands!) we can also consider shuffles which split the deck into three (or more) piles, and then riffle them together. For instance, given the list [0,1,2,3,4,5,6,7,8] a 3-way riffle would split it into three piles: A=[0,1,2],  B = [3,4,5],  C=[6,7,8] and then interleaving them in the order CBA (of course there are other choices) to obtain a shuffled list of [6,3,0,7,4,1,8,5,2].
Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Linked List Representation
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education