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

    หาตัวเลขในรายการ (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 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 here
              in #your code here
          return result
      
      list=['Apple','Banana','Broccoli','Cucumber','Mango','Strawberry']
      print(find_thing(list))

      Question 34

      • เขียนโปรแกรมรวมกลุ่มผักและผลไม้จากรายการที่ให้ไป
      รูปเเบบ 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 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
          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 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ได้ รับไปเลย ของรางวัลสุดพิเศษจากพรี่ฟลุ๊ค