Skip to main content

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 #your code herelist
        if #your code here
    return result

list=['Apple','Banana','Broccoli','Cucumber','Mango','Strawberry']
print(find_thing(list))

Question 4

  • เขียนโปรแกรมรวมกลุ่มผักและผลไม้จากรายการที่ให้ไปเขียนโปรแกรมคำนวนราคารวมของผักผลไม่ที่อยู่ใน โดยใช้ dictlist
รูปเเบบ Input
list ที่เต็มไปด้วยผักและผลไม้
รูปเเบบ Output

กลุ่มของผักและผมไม้ที่แยกแล้ว (แจ้งเตือนด้วยถ้าหากมีของอย่างอื่นนอกจากนั้น)ราคารวมของรายการที่จะซื้อ

  • ตัวอย่าง
Input Output
['Apple'apple','Banana'banana','Broccoli'broccoli','Cucumber'cucumber', 'Mango', 'Strawberry'mango']

fruits': ['Apple', 'Banana', 'Mango', 'Strawberry'],

ราคารวม คือ 132

'vegetables': ['Broccoli', 'Cucumber']

[]

'fruits': [],

ราคารวม คือ 0 บาท

'vegetables': []

['Apple','Banana','Orange','Mango','shoes','Carrot','Broccoli','Tomato','Spinach']

Warning: 'shoes' is neither a fruit nor a vegetable!
{'fruits': ['Apple', 'Banana', 'Orange', 'Mango'],

'vegetables': ['Carrot', 'Broccoli', 'Tomato', 'Spinach']}

def group_fruits_and_vegetables(items_list):

    fruits = []
    vegetables = []
    for item in items_list:
        if is_fruit(item):
            fruits.append(item)
        elif is_vegetable(item):
            vegetables.append(item)
        else:
            #your code here


    grouped_dict = {
        'fruits': fruits,
        'vegetables': vegetables
    }

    return grouped_dict

def is_fruit(item):
    fruits_list = ['apple','banana','orange','mango','strawberry']
    return #your code here

def is_vegetable(item):
    vegetables_list = ['carrot',

'broccoli','tomato','spinach','cucumber']

return #your code

 here

items_list=['Apple','Banana','Broccoli','Cucumber','Mango','Strawberry']ราคารวม print(group_fruits_and_vegetables(items_list))คือ
    197 .lower()บาท ใช้เพื่อให้ตัวอักษรทุกตัวเป็นตัวเล็ก

     

    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 line codeได้ รับไปเลย ของรางวัลสุดพิเศษจากพรี่ๆ