ACS Workshop (python)
.
.
.
มาทำโจทย์กันเถอะะะะะ (โดยพรี่ภูมิ)
.
.
.
Question 1
- เขียนโปรแกรมหาเส้นรอบรูปสี่เหลี่ยมผืนผ้า โดยกำหนดให้ ความกว้าง-ความยาว ของรูปสี่เหลี่ยมมา
 
| รูปเเบบ Input | 
|---|
| บรรทัดที่ 1 รับตัวเลขจำนวนเต็ม ความกว้าง | 
| บรรทัดที่ 2 รับตัวเลขจำนวนเต็ม ความยาว | 
| รูปเเบบ Output | 
|---|
| เส้นรอบรูปสี่เหลี่ยมผืนผ้า ตอบเป็นทศนิยม 2 ตําแหน่ง | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| 
 5 10  | 
30 | 
| 
 25 50  | 
150 | 
| 
 100 200  | 
600 | 
def find_perimeter(width,length):
    perimeter = # your code here 
    return # your code here 
width= # Question2 input (line1)
length= # Question2 input (line2)
print(find_perimeter(width, length))
hint สูตรคือ 2*(w+h)- ใช้ round(<var>, 2) เพื่อปัดเศษเป็น 2 ตำแหน่ง
 
Question 2
- หาตัวเลขในรายการ (list) ที่น้อยที่สุด
 
| รูปเเบบ Input | 
|---|
| list | 
| รูปเเบบ Output | 
|---|
| เลขที่น้อยที่สุด | 
| ข้อจำกัด | 
|---|
| ห้ามใช้ built in functions เช่น min() ,ตัวเลขเป็น integer | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| [17, 5, 9, 12, 2] | 2 | 
| [-1, 2, 5, 15, -2] | -2 | 
| [5, 0, 5, 6, 6, 4] | 0 | 
def find_minimum(numbers):
    min_num = numbers[0]
    for #your code here
        if #your code here
            #your code here
    return min_num
my_list = [17, 5, 9, 12, 2]
minimum_number = find_minimum(my_list)
print(minimum_number) 
Question 3
- เขียนโปรแกรมหาผักจากรายการที่ให้ไป
 
| รูปเเบบ Input | 
|---|
| list ที่เต็มไปด้วยผักและผลไม้ | 
| รูปเเบบ Output | 
|---|
| จำนวนของผักที่มีอยู่ใน list | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| ['Apple','Banana','Broccoli','Cucumber', 'Mango', 'Strawberry'] | 2 | 
| [] | 0 | 
| 
 ['Apple','Banana','Orange'] 
 | 
 0  | 
def find_thing(list):
    fruits = ['Apple','Banana','Orange','Mango','Strawberry']
    vegetable = ['Carrot','Broccoli','Tomato','Spinach','Cucumber']
    result = 0
    for i in list
        if #your code here
    return result
list=['Apple','Banana','Broccoli','Cucumber','Mango','Strawberry']
print(find_thing(list))
Question 4
- เขียนโปรแกรมคำนวนราคารวมของผักผลไม่ที่อยู่ใน list
 
| รูปเเบบ Input | 
|---|
| list | 
| รูปเเบบ Output | 
|---|
| 
 ราคารวมของรายการที่จะซื้อ  | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| ['apple','banana','broccoli','cucumber', 'mango'] | 
 ราคารวม คือ 132 
  | 
| [] | 
 ราคารวม คือ 0 บาท 
  | 
| 
 ['apple','banana','orange','mango','carrot', 'broccoli','tomato','spinach']  | 
 ราคารวม คือ 197 บาท 
  | 
def calculate_total_price(vegetables_and_fruits_prices, shopping_list):
    total_price = 0
    for item in #your code here
        if item in #your code here
            #your code here
        else:
            print(f'ไม่พบรายการ "{item}" ในรายการผักและผลไม้')
    return total_price
vegetables_and_fruits_prices = {
    'apple': 50,
    'banana': 20,
    'orange': 15,
    'mango': 30,
    'carrot': 25,
    'broccoli': 17,
    'tomato': 10,
    'spinach': 30,
    'cucumber': 15,
}
shopping_list = ['apple','banana','orange','mango','carrot','broccoli','tomato','spinach']
total_price = calculate_total_price(vegetables_and_fruits_prices, shopping_list)
print('ราคารวม คือ',total_price,'บาท')
Question 5
- เขียนฟังก์ชันที่ย้อนกลับสตริง โดยสตริงอินพุตจะได้รับเป็นสตริงของอักขระ
 
| รูปเเบบ Input | 
|---|
| string | 
| รูปเเบบ Output | 
|---|
| string ที่ย้อนกลับแล้ว | 
| ข้อจำกัด | 
|---|
| ห้ามใช้ built in functions | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| etuCoSRU | URSoCute | 
| UwU | UwU | 
| gnaLginmmargorPsILMTH | HTMLIsProgrammingLang | 
| 700azwnl | lnwza007 | 
def reverseString(s):
    for i in ## your code here
        new_String = # your code here
    return # your code here
my_String ='etuCoSRU'
my_String = reverseString(my_String)  
print(my_String)  
นอกจาก for loop ยังมีวิธีอื่นที่สามารถทำ palindrome ได้
Question 6
- เขียนฟังก์ชันที่ตรวจสอบ x ว่าเป็นพาลินโดรมรึป่าว โดยกําหนด x เป็น int
 
| รูปเเบบ Input | 
|---|
| string | 
| รูปเเบบ Output | 
|---|
| ส่งกลับค่า true ถ้าเป็นจริงและ false ถ้าเป็นเท็จ | 
| ข้อจำกัด | 
|---|
| ห้ามใช้ built in functions | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| mom | True | 
| kinnikinnik | True | 
| gigachad | False | 
| (()(()(( | True | 
| ฟหกหก | False | 
def isPalindrome(x):
    x_str = str(x)
   	return #your code here
print(isPalindrome('mom'))
Question 7
- ใช้สัญลักษณ์ "#" เพื่อสร้างรูปเพรช
 
| รูปเเบบ Input | 
|---|
| integer เลขคี่ | 
| รูปเเบบ Output | 
|---|
| รูปเพรช | 
| ข้อจำกัด | 
|---|
| ห้ามใช้ built in functions | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| 3 | 
 # ###  | 
| 7 | 
 # ### ##### ####### ##### ### #  | 
| 1 | # | 
def draw_diamond(x):
		#your code here
print(draw_diamond(3))
Question 8
- ตรวจสอบว่า สมาชิกใน nested list (`list2`) นั้นอยู่ใน `list1` หรือไม่
 
| รูปเเบบ Input | 
|---|
| list ทั้งหมด 2 list | 
| รูปเเบบ Output | 
|---|
| list | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| 
 [4, 7, 66, 2, 8, 12, -1] [[1, 2,3], [2, 4, 6, 7], [], [], [-1]]  | 
[[2], [2, 4, 7], [], [], [-1]] | 
| 
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13] [[12, 18, 23, 25, 45], [7, 11, 19, 28], [1, 5, 8, 18, 15]]  | 
[[12], [7, 11], [1, 5, 8]] | 
| 
 [[1, 2], 0, 1, -1, 2, [3, 4, 5], 6, 7] [[1, 2], [-1, 0], [[1,2]], [[3, 5]], [6]]  | 
[[1, 2], [-1, 0], [[1, 2]], [], [6]] | 
def intersection_nested_lists(list1, list2):
    result = []
    for l2 in list2:
        # Your code here
    return result
nums1 = [1, 2, 3, 4]
nums2 = [[1, 2], [3], [4]]
print(intersection_nested_lists(nums1, nums2))
Question 9
- เขียนโปรแกรมหาตัวเลข3ตัวจากlistที่ให้ผลรวมเท่ากับ0
 
| รูปเเบบ Input | 
|---|
| list ตัวเลขที่เป็น integer | 
| รูปเเบบ Output | 
|---|
| ตัวเลข3ตัวที่ไม่ซ้ำกันในlistที่ให้ผลรวมเท่ากับ0 | 
- ตัวอย่าง
 
| Input | Output | 
|---|---|
| [-1, 0, 1, 2, -1, -4] | [[-1, 0, 1], [-1, 2, -1]] | 
| [1, 2, 3, 4] | [] | 
| 
 [-2, -1, 0, 1, 2, 3, 4, 5, 6, 7] 
 | 
 [[-2, -1, 3], [-2, 0, 2], [-1, 0, 1]]  | 
def find_triplets(nums):
    #your code here
numbers = [-1, 0, 1, 2, -1, -4]
print(find_triplets(numbers))
โบนัสสสส เขียน one linecodeได้ รับไปเลย ของรางวัลสุดพิเศษจากพรี่ๆ
`