2016年9月16日 星期五

程式集訓 M90H007: 考試調分(低成60高100)

#coding=utf8

#程式集訓 M90H007: 考試調分(低成60高100)
'''
    ( max-min ) / ( max-原始成績 ) = ( 100-60 ) / ( 100-調整後的成績 )
'''

initial_value = 0
list_length = 20
sample_list1 = [initial_value]*list_length
sample_list2 = [initial_value]*list_length
i=0
print("請輸入20位學生的成績: ")
while i<=19:
  while True:
    try:
      print("第",i+1,"位" ,end="")             
      c1=int(input("學生的成績: "))
      if (c1>=0 and c1<=100):
          break
      else:
          print ('這是不合法的輸入.  請再輸入一次...')
          continue            
    except ValueError:
      print ('這是不合法的輸入.  請再輸入一次...')
      continue
   
  sample_list1[i]=int(c1)
  i=i+1
  

max1 = max(sample_list1)
min1 = min(sample_list1)
print("分數最高為",max1)
print("分數最低為",min1)          

for i in range (0,20):
   x=int(100-( (max1-sample_list1[i])*40/(max1-min1) ) + 0.5)
   sample_list2[i]=x


print("原始分數",sample_list1)
print("調整後分數",sample_list2) 

  


================= RESTART: D:/程式語言 Python 入門/程式集訓/M90H007.py =================
請輸入20位學生的成績: 
第 1 位學生的成績: 12
第 2 位學生的成績: 34
第 3 位學生的成績: 32
第 4 位學生的成績: 23
第 5 位學生的成績: 67
第 6 位學生的成績: 89
第 7 位學生的成績: 94
第 8 位學生的成績: 53
第 9 位學生的成績: 23
第 10 位學生的成績: 45
第 11 位學生的成績: 55
第 12 位學生的成績: 56
第 13 位學生的成績: 76
第 14 位學生的成績: 76
第 15 位學生的成績: 73
第 16 位學生的成績: 90
第 17 位學生的成績: 12
第 18 位學生的成績: 14
第 19 位學生的成績: 34
第 20 位學生的成績: 23
分數最高為 94
分數最低為 12
原始分數 [12, 34, 32, 23, 67, 89, 94, 53, 23, 45, 55, 56, 76, 76, 73, 90, 12, 14, 34, 23]
調整後分數 [60, 71, 70, 65, 87, 98, 100, 80, 65, 76, 81, 81, 91, 91, 90, 98, 60, 61, 71, 65]
>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...