Annettuna on lista, joka sisältää luvut 1,2,\dots,n jossakin järjestyksessä. Tehtäväsi on simuloida prosessia, jossa luvut kerätään listalta pienimmästä suurimpaan.
Joka kierroksella lista käydään läpi vasemmalta ja oikealle ja kerätään seuraavat mukaan tulevat luvut. Prosessi päättyy, kun kaikki luvut on kerätty.
Esimerkiksi kun lista on [2,1,4,7,5,3,6,8], kierrokset ovat seuraavat:
- Kierros 1: [1]
- Kierros 2: [2,3]
- Kierros 3: [4,5,6]
- Kierros 4: [7,8]
Toteuta tiedostoon listrounds.py
funktio find_rounds
, jolle annetaan parametrina listan sisältö. Funktion tulee palauttaa tiedot kierroksista esimerkin mukaisesti.
Tässä tehtävässä voit simuloida suoraan annettua prosessia ja käydä joka kierroksella läpi listan vasemmalta oikealle.
def find_rounds(numbers): # TODO if __name__ == "__main__": print(find_rounds([1, 2, 3, 4])) # [[1, 2, 3, 4]] print(find_rounds([1, 3, 2, 4])) # [[1, 2], [3, 4]] print(find_rounds([4, 3, 2, 1])) # [[1], [2], [3], [4]] print(find_rounds([1])) # [[1]] print(find_rounds([2, 1, 4, 7, 5, 3, 6, 8])) # [[1], [2, 3], [4, 5, 6], [7, 8]]