วันจันทร์ที่ 24 สิงหาคม พ.ศ. 2558

Python Practice : Grade Calculation Program

มาเริ่มศึกษา Python จากการทำโจทย์กันเลยดีกว่า

โจทย์จาก http://programming.in.th/task/rev2_problem.php?pid=0001


ในการเรียนวิชาคอมพิวเตอร์ ณ โรงเรียนแห่งหนึ่ง ใช้วิธีการเก็บคะแนนในรูปแบบของ
  • คะแนนเก็บ 30 คะแนน
  • คะแนนสอบกลางภาค 30 คะแนน
  • คะแนนสอบปลายภาค 40 คะแนน
รวมทั้งสิ้น 100 คะแนน หลังจากที่จบภาคการศึกษา ฝ่ายทะเบียนวัดผลของโรงเรียนต้องการให้อาจารย์ที่สอนวิชาคอมพิวเตอร์มาคีย์ คะแนนลงในระบบคอมพิวเตอร์ เพื่อจะได้ทราบถึงเกรดที่นักเรียนแต่ละคนควรจะได้ โดยใช้โปรแกรมเข้าช่วย แต่เนื่องจากว่าทางงานทะเบียนวัดผลนี้ยังไม่มีโปรแกรมใช้ (อาจเป็นเพราะเหตุเกิดเมื่อนานมาแล้ว) อาจารย์ฝ่ายทะเบียนวัดผลจึงมาขอให้คุณช่วยเขียนโปรแกรมให้หน่อย

โจทย์
ให้นักเรียนเขียนโปรแกรมตัดเกรดเพื่อช่วยงานทะเบียนวัดผลของโรงเรียนแห่งนี้

ข้อมูลนำเข้า
บรรทัดแรก จำนวนเต็มบวก a (0 <= a <= 30) เป็นคะแนนเก็บของนักเรียน
บรรทัดที่สอง จำนวนเต็มบวก b (0 <= b <= 30) เป็นคะแนนสอบกลางภาคของนักเรียน
บรรทัดที่สาม จำนวนเต็มบวก c (0 <= c <= 40) เป็นคะแนนสอบปลายภาคของนักเรียน

ข้อมูลส่งออก
บรรทัดแรก เป็นอักขระใช้แทนเกรดของนักเรียน โดยที่ใช้อักขระตามเงื่อนไขดังต่อไปนี้
  • A ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 80 - 100
  • B+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 75 - 79
  • B ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 70 - 74
  • C+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 65 - 69
  • C ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 60 - 64
  • D+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 55 - 59
  • D ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 50 - 54
  • F ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 0 - 49
และนี่ คือ Code

print "Grade Calculation Program"

work = input("Work score = ") #first input
while (work < 0) or (work > 30) : #check outrange
    print "Error please reinput"
    work = input("Work score = ")
   
mid = input("Midterm score = ") #first input
while (mid < 0) or (mid > 30) : #check outrange
    print "Error Please Reinput"
    mid = input("Mideterm score = ")
   
final = input("Final score = ") #first input
while (final<0) or (final>45) : #check outrange
    print "Error Please Reinput"
    final = input("Final score = ")

total = work + mid + final

#grade calculation
if total >= 80 :
    grade = "A"
elif total >= 75 :
    grade = "B+"
elif total >= 70 :
    grade = "B"
elif total >= 65 :
    grade = "C+"
elif total >= 60 :
    grade = "C"
elif total >= 55 :
    grade = "D+"
elif total >= 50 :
    grade = "D"
else :
    grade = "F"

#display output
print "Your grade =",grade

 

 
และนี่คือ Output ที่แสดงออกมา

Grade Calculation Program
Work score = 31
Error please reinput
Work score = 25
Midterm score = 30
Final score = 35
Your grade = A



ไม่มีความคิดเห็น:

แสดงความคิดเห็น