这题出得有问题。
题目最后说通过60*'F'+...,这刚好就是括号中不允许的。
这意思就是说,建立一个字符串,然后直接以分数来索引该字符串得到分数对应的等极:
grade = 60*'F'+10*'D'+10*'C'+10*'B'+11*'A'
def myfun(fenshu):
reutrn grade[fenshu]
如果不允许使用字符串索引与复制,那么,就不是使用该类方式,常见的做法是使用一组if:
def myfun(fenshu):
if fenshu < 60:
return 'F'
elif fenshu < 70:
return 'D'
elif fenshu < 80:
return 'C'
elif fenshu < 90:
return 'B'
else:
return 'A'
或者使用一个列表,在for中判断:
grade = [(60,'F'),(70,'D'),(80,'C'),(90,'B')]
def myfun(fenshu):
for k, v in grade:
if fenshu < k:
return v
else:
return 'A'
但这两种处理方式均与题目最后所给出的提示是不一致的。