From abe1d23845d09745088837920095bbe6cdc0f43c Mon Sep 17 00:00:00 2001 From: Livghech <2025522choung@aupp.edu.kh> Date: Tue, 8 Jul 2025 16:32:57 +0700 Subject: [PATCH] completed exercise 1-5 --- exercise-1.py | 8 +++++++- exercise-2.py | 11 +++++++++-- exercise-3.py | 7 ++++++- exercise-4.py | 9 ++++++++- exercise-5.py | 13 ++++++++++++- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/exercise-1.py b/exercise-1.py index 91a8563..9c37a5e 100644 --- a/exercise-1.py +++ b/exercise-1.py @@ -1,2 +1,8 @@ def replace_last(numbers): - ... + if len (numbers)<= 1: + return numbers + return [numbers[-1]] + numbers [:-1] +print(replace_last([2, 3, 4, 1])) +print(replace_last([1, 2, 3, 4])) +print(replace_last([1])) +print(replace_last([])) \ No newline at end of file diff --git a/exercise-2.py b/exercise-2.py index 037cd6a..75f0535 100644 --- a/exercise-2.py +++ b/exercise-2.py @@ -1,2 +1,9 @@ -def index_power(numnbers, n): - ... +def index_power(numbers, n): + if n < 0 or n >= len(numbers): + return -1 + return numbers[n]** n + +print(index_power([1, 2, 3, 4], 2)) +print(index_power([1, 3, 10, 100], 3)) +print(index_power([0, 1], 0)) +print(index_power([1, 2], 3)) \ No newline at end of file diff --git a/exercise-3.py b/exercise-3.py index c185b7b..c0a7604 100644 --- a/exercise-3.py +++ b/exercise-3.py @@ -1,2 +1,7 @@ def remove_all_after(numbers, n): - ... + if n in numbers: + n_index = numbers.index(n) + return numbers [:n_index + 1] + return numbers +print(remove_all_after([1, 2, 3, 4, 5], 3)) +print(remove_all_after([1, 1, 2, 2, 3, 3], 2)) \ No newline at end of file diff --git a/exercise-4.py b/exercise-4.py index de21f7d..1ed4170 100644 --- a/exercise-4.py +++ b/exercise-4.py @@ -1,2 +1,9 @@ def chunking_by(numbers, chunck): - ... + if not numbers or chunck <= 0 : + return[] + chunks = [] + for i in range (0, len(numbers), chunck): + chunks.append(numbers[i:i + chunck]) + return chunks +print(chunking_by([5, 4, 7, 3, 4, 5, 4], 3)) +print(chunking_by([3, 4, 5], 1)) \ No newline at end of file diff --git a/exercise-5.py b/exercise-5.py index d49bd43..1eefe6d 100644 --- a/exercise-5.py +++ b/exercise-5.py @@ -1,2 +1,13 @@ def reverse_ascending(numbers): - ... + result = [] + group = [] + for i in range(len(numbers)): + if not group or numbers[i] > group[-1]: + group.append(numbers[i]) + else: + result.extend(reversed(group)) + group = [numbers[i]] + result.extend(reversed(group)) + return result +print(reverse_ascending([1, 2, 3, 4, 5])) +print(reverse_ascending([5, 7, 10, 4, 2, 7, 8, 1, 3])) \ No newline at end of file