From b512e04d5eeb0b4ffb503daf0936162ac43d47e2 Mon Sep 17 00:00:00 2001 From: EternalIllusion Date: Mon, 11 May 2026 09:43:05 +0800 Subject: [PATCH] Added week 9 --- week9/ex1.py | 13 +++++++++++++ week9/ex2.py | 18 ++++++++++++++++++ week9/ex3.py | 27 +++++++++++++++++++++++++++ week9/ex4.py | 36 ++++++++++++++++++++++++++++++++++++ week9/run_all.py | 5 +++++ 5 files changed, 99 insertions(+) create mode 100644 week9/ex1.py create mode 100644 week9/ex2.py create mode 100644 week9/ex3.py create mode 100644 week9/ex4.py create mode 100644 week9/run_all.py diff --git a/week9/ex1.py b/week9/ex1.py new file mode 100644 index 0000000..64d0724 --- /dev/null +++ b/week9/ex1.py @@ -0,0 +1,13 @@ +def func0(name,age,*args,**kwargs): + print(f"Name: {name}; Age: {age}") + if args or kwargs: + print(f"More args provided: {args} {kwargs}") + +def main(): + print('==Exercise 1==') + func0("Jeffery Alexander",18) + print('==End Of Ex1==') + return 0 + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/week9/ex2.py b/week9/ex2.py new file mode 100644 index 0000000..f7761b0 --- /dev/null +++ b/week9/ex2.py @@ -0,0 +1,18 @@ +def func1(*args,**kwargs): + if args: + for i in args:print(i) + if kwargs: + for i in kwargs.keys():print(f"{i}:f{kwargs[i]}") + +def main(): + print('==Exercise 2==') + + func1(20, 40, 60) + print("") + func1(80, 100) + + print('==End Of Ex2==') + return 0 + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/week9/ex3.py b/week9/ex3.py new file mode 100644 index 0000000..10184da --- /dev/null +++ b/week9/ex3.py @@ -0,0 +1,27 @@ +try: + from decimal import Decimal +except: + Decimal = float + +def calculation(a,b): + try: + a,b = Decimal(a),Decimal(b) + except: + raise ValueError("Given number is not even a decimal!") + + aa,s = a+b,a-b + print(f"{a}+{b}={aa},{a}-{b}={s}") + return aa,s + + +def main(): + print('==Exercise 3==') + + a,s = calculation(114,514) + print(f"Return Value: {a},{s}") + + print('==End Of Ex3==') + return 0 + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/week9/ex4.py b/week9/ex4.py new file mode 100644 index 0000000..a5b6995 --- /dev/null +++ b/week9/ex4.py @@ -0,0 +1,36 @@ +def is_lists_exactly_same(list1,list2,*args): + if not args: + return list1 == list2 + ''' + rtv = len(list1) == len(list2) + if not rtv :return False + for i in range(len(list1)):rtv = rtv and (list1[i] == list2[i]) + return rtv + ''' + else: + ls = [list1,list2,*args] + rtv = True + for i in range(len(ls)-1): + rtv = rtv and ls[1]==ls[i+1] + return rtv + + +def main(): + print('==Exercise 4==') + + l1 = [1,2,3,4,5] + l2 = [1,2,3,4,5] + l3 = [1,4,5,2,3] + l4 = [1,2,3,4,5] + l5 = [1,2,3,4,5] + + print(f"{l1},{l3}=>{is_lists_exactly_same(l1,l3)}") + print(f"{l2},{l4}=>{is_lists_exactly_same(l2,l4)}") + print(f"{l1},{l2},{l3}=>{is_lists_exactly_same(l1,l2,l3)}") + print(f"{l1},{l4},{l5}=>{is_lists_exactly_same(l1,l4,l5)}") + + print('==End Of Ex4==') + return 0 + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/week9/run_all.py b/week9/run_all.py new file mode 100644 index 0000000..dfb8edf --- /dev/null +++ b/week9/run_all.py @@ -0,0 +1,5 @@ +import ex1,ex2,ex3,ex4 +ex1.main() +ex2.main() +ex3.main() +ex4.main() \ No newline at end of file