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)

Question 2

  • เขียนโปรแกรมหาผักจากรายการที่ให้ไป
รูปเเบบ 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 here
        in #your code here
    return result

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

Question 3

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

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

      ตัวอย่าง
      Input Output ['Apple','Banana','Broccoli','Cucumber', 'Mango', 'Strawberry']

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

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

      []

      'fruits': [],

      '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))

      Question 4

      • หาตัวเลขในรายการ (list) ที่น้อยที่สุด ให้มีรายการ (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 45

      • เขียนฟังก์ชันที่ย้อนกลับสตริง โดยสตริงอินพุตจะได้รับเป็นสตริงของอักขระ
      รูปเเบบ 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 56

      • เขียนฟังก์ชันที่ตรวจสอบ x ว่าเป็นพาลินโดรมรึป่าว โดยกําหนด x เป็น int
      รูปเเบบ Input
      integer
      รูปเเบบ 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 67

      • ใช้สัญลักษณ์ "#" เพื่อสร้างรูปเพรช
      รูปเเบบ Input
      integer
      รูปเเบบ Output
      รูปเพรช
      ข้อจำกัด
      ห้ามใช้ built in functions
      • ตัวอย่าง
      Input Output
      3

      #

      ###
      #

      7

      #

      ###

      #####

      #######

      #####

      ###

      #

      1 #
      def draw_diamond(x):
      		#your code here
      print(draw_diamond(3))
      
      

      Question 78

      • ตรวจสอบว่า สมาชิกใน 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))