问题描述:以打字练习程序为例,假设origin为原始内容,userIpput为用户输入的内容、下面的代码用来测试用户输入的准确率。
基本思路:使用zip()函数将原始字符串和用户输入的字符串左对齐,然后依次对比对应位置上的字符是否相同,如果相同就记一次正确,最后统计正确的字符数量并计算准确率。
#编写函数,计算字符串匹配的准确率
def Rate(origin,userInput):
if not (isinstance(origin,str) and isinstance(userInput,str)):
print('The two parameters must be strings.')
return
right = sum((1 for o, u in zip(origin,userInput) if o == u))
return round(right/len(origin),2)
s1 = 'Readability counts.'
s2 = 'readability count.'
print(Rate(s1,s2))