题目中先给出一个整型数n(1 ≤ n ≤ 50),表示后面有n行字符串需要判断。随后的n行中,每行一个字符串,需要进行合法性判断。对于合法的字符串,应输出“Y”,否则输出“N”,结果中间不用空格。
用正则判断即可
score=[]
maxscore=int(input("满分分值分为:"))
while True:
try:
x=float(input("请输入同学的成绩:"))
assert 0<=x<=maxscore
score.append(float(x))
except:
print("输入的分数有误!!!")
while True:
f=input("是否继续输入:Y/N/y/n:")
if f not in ('Y','N','y','n'):
print("输入的字符不对")
else:
break
if f=='N' or f=='n':
break
s=float(len(score))
print("总成绩为:",sum(score))
print("平均成绩为:",sum(score)/s)
print("最高分数为:",max(score))