#Fundamentals of Computer Science (Lab 2) #Task 1 #คำถาม โดยศึกษาจาก code ที่ให้ต่อไปนี้ pi = 3.14159 radius = 2.2 # area of circle equation <- this is a comment area = pi*(radius**2) print(area) #1. ประกาศตัวแปร และ bind ตัวแปรไว้กับ object อย่างไร #2. ขอดู Type ของแต่ละตัวแปร #3. ขอดู ค่า ของแต่ละตัวแปร #4. ขอดู ค่า ของแต่ละตัวแปร โดยที่สามารถกำหนดจุดทศนิยมได้ (ต้องค้นเพิ่ม) #5. ขอดู id ของแต่ละตัวแปร (ต้องค้นเพิ่ม) #6. For each of the following expressions, what value will the expression give? Verify your answers by typing the expressions into Python. a. 9 - 3 b. 8 * 2.5 c. 9 / 2 d. 9 / -2 e. 9 // -2 f. 9 % 2 g. 9.0 % 2 h. 9 % 2.0 i. 9 % -2 j. -9 % 2 k. 9 / -2.0 l. 4 + 3 * 5 m. (4 + 3) * #7 จงแสดงลำดับของการคำนวณนิพจน์ a. 1 - 2 + 2 ** 3 * 4 - 5 + 7 / 6 * 7 ** 2 b. (2+3)*(4+5) c. 2+3*(4+5) d. m*n+(p-q)+r #----------------------------------------------------------------------- #Task 2 ศึกษาการใช้ string จากตัวอย่างต่อไปนี้ ################### ## EXAMPLE: strings ################### hi = "hello there" name = "ana" greet = hi + name print(greet) greeting = hi + " " + name print(greeting) silly = hi + (" " + name)*3 print(silly) #คำถาม #1. หาความยาวของ string #2. เอา integer คูณ string คืออะไร #3. ใช้ float คูณ string ได้หรือไม่ ถ้าไม่ได้ มี error message ว่าอะไร #4. Index ของตัวอักษรตัวแรก ของ string คือ? #5. Index ของตัวอักษรตัวสุดท้าย ของ string คือ? #6. เอา string มาต่อกันทำอย่างไร #7. ถ้าเอา ตัวที่ 2 ถึง 5 ของ 'abcedfghijkl' มาต่อกับ ตัวที่ 3 ถึง 7 ของ '1234567890' ทำอย่างไร #8. ถ้าต้องการเปลี่ยนตัวอักษรตัวแรก ของ 'abcedfghijkl' ให้เป็นตัวอักษรตัวใหญ่ ทำอย่างไร #9. ถ้าต้องการเปลี่ยนตัวอักษรตัวที่ 2 และตัวที่ 5 ของ “abcedfghijkl” ให้เป็นตัวอักษรตัวใหญ่ ทำอย่างไร #################### ## EXAMPLE: output #################### x = 1 print(x) x_str = str(x) print("my fav number is", x, ".", "x=", x) print("my fav number is", x_str + "." + "x=" + x_str) print("my fav number is" + x_str + "." + "x=" + x_str) #คำถาม #10. เอา แปลงตัวแปรที่เป็น integer หรือ float ให้เป็น string ทำอย่างไร #################### ## EXAMPLE: input #################### #text = input("Type anything... ") #print(5*text) #num = int(input("Type a number... ")) #print(5*num) #----------------------------------------------------------------------- #Task 3 #ศึกษาการใช้ conditionals/branching จากตัวอย่างต่อไปนี้ #################### ## EXAMPLE: conditionals/branching #################### x = float(input("Enter a number for x: ")) y = float(input("Enter a number for y: ")) if x == y: print("x and y are equal") if y != 0: print("therefore, x / y is", x/y) elif x < y: print("x is smaller") elif x > y: print("y is smaller") print("thanks!") #คำถาม #1. เวลารับข้อมูลจาก คีย์บอร์ด ทำอย่างไร #2. ข้อมูลที่รับมา มี Type เป็นอะไร แสดงให้ดูได้อย่างไร #3. แปลง Type ข้อมูลที่รับเข้ามา ให้เป็น Type อย่างอื่น ทำได้อย่างไร #4. ประโยค if ทำงานอย่างไร #5. ประโยค if..elif ทำงานอย่างไร #################### ## EXAMPLE: remainder #################### num = int(input("Enter a number: ")) if num % 2 == 0: print("number is even") else: print("number is odd") #คำถาม #6. ประโยค if..else ทำงานอย่างไร #7. ถ้า num = {0,1,2,3,4,5,6,7,8,9,10} แล้ว num % 2 จะได้คำตอบเป็น ค่าใด บ้าง #################### ## EXAMPLE: while loops ## Try expanding this code to show a sad face if you go right ## twice and flip the table any more times than that. ## Hint: use a counter #################### #n = input("You are in the Lost Forest\n****************\n****************\n :)\n****************\n****************\nGo left or right? ") #while n == "right" or n == "Right": # n = input("You are in the Lost Forest\n****************\n****** ***\n (╯°□°)╯︵ ┻━┻\n****************\n****************\nGo left or right? ") #print("\nYou got out of the Lost Forest!\n\o/") #----------------------------------------------------------------------- #Task 4 #ศึกษาการใช้ while จากตัวอย่างต่อไปนี้ n = 0 while n < 5: print(n) n = n+1 #คำถาม #1. ก่อน เข้าทำงาน while loop ต้องทำอะไรก่อน #2. เมื่อไรจะเลิกวนใน while loop #3. เมื่อเลิกวนใน while loop แล้ว n มีค่าเท่าไร #4. จากโค้ดข้างบน ถ้าทำการ comment บรรทัด n = n+1 จะเป็นอย่างไร #5. จงอธิบาย infinite loop #6. จงเขียน flow chart แสดงการทำงานของ โค้ดข้างบน #----------------------------------------------------------------------- #Task 5 #ศึกษาการใช้ for จากตัวอย่างต่อไปนี้ #################### ## EXAMPLE: for loops #################### for n in range(5): print(n) #คำถาม #range(5) คืออะไร #1. ถ้าต้องการให้ n เริ่มที่ 5 และมีค่าสุดท้ายเป็น 15 แล้ว ต้องกำหนด range อย่างไร #2. ถ้าต้องการให้ n เริ่มที่ -10 และมีค่าสุดท้ายเป็น 10 เพิ่มค่าที่ละ 3 ต้องกำหนด range อย่างไร #3. ไวยกรณ์ของ range เป็นอย่างไร # ศึกษาการใช้ for จากตัวอย่างต่อไปนี้ mysum = 0 for i in range(10): mysum += i print(mysum) #คำถาม #4. range(10) คืออะไร #5. mysum += i คืออะไร #mysum = 0 #for i in range(7, 10): # mysum += i #print(mysum) # # ศึกษาการใช้ break จากตัวอย่างต่อไปนี้ mysum = 0 for i in range(5, 11, 2): mysum += i if mysum == 5: break mysum += 1 print(mysum) #คำถาม #6. range(5, 11, 2) หมายความว่าอย่างไร #7. ประโยค mysum == 5 หมายความว่าอย่างไร #8. รอบแรกของ for i มีค่าเท่าใร #9. วน loop กี่รอบ แต่ละรอบ i มีค่าเท่าใร #10. print(mysum) แสดงค่าใด #11. เมื่อใดจึงจะทำงานที่ break #12. เมื่อทำงานที่ break จะเกิดอะไรขึ้น กำหนดให้ ชุดข้อมูล A = [10,20,23,15,30,22,15,9,45,55,33,44,25] จงเขียน โค้ด Python เพื่อตอบคำถามต่อไปนี้ หาจำนวนข้อมูลจากชุดข้อมูล A หาค่าที่มากที่สุดจากชุดข้อมูล A (พร้อม index) หาค่าที่น้อยที่สุดจากชุดข้อมูล A (พร้อม index) หาค่าที่น้อยที่สุดอันดับที่ 2 จากชุดข้อมูล A (พร้อม index) หาผลรวมจากชุดข้อมูล A จงทำการแปลงโค้ดด้านบน จากการใช้ for loop ให้เป็น while loop จงทำการแปลงโค้ดด้านบน จากการใช้ while loop ให้เป็น for loop