#程式集訓 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]
>>>
沒有留言:
張貼留言