题目:
模拟打字练习程序,假设original为原始内容,user-Inputs为用户输入的内容,要求
用户输入的内容长度不得大于原始内容长度。若对应位置字符一致,则认为正确,否则
判定输入错误。最后成绩为:正确的字符数量/原始字符串长度,按百分制输出,要求
保留2位小数。判定成绩等级,输出相应级别,级别包括“优、良、中、及格、不及格”。
用到的知识点:
zip()
、sum()
、round()
、len()
random
模块生成随机字符串if
、while
#!/usr/bin/env python3
# coding:utf8
import random
import string
order='y'
while(order=='y' or order=='Y'):
print('----------模拟打字练习程序----------')
original=''.join(random.sample('abcdefghijklmnopqrstuvwxyz',20))#随机生成由20个小写英文字符构成的字符串,字符数可改变
print('输出:'+original)
user_Inputs=input('输入:')
combination=list(zip(original,user_Inputs))
true_word=0.0//记录正确的字符数
#统计正确字符数
for word in combination:
if word[0]==word[1]:
true_word+=1
#评定等级
score=round(true_word/len(original),3)*100
if(score>=90):
grade='优'
elif(score>=80):
grade='良'
elif(score>=70):
grade='中'
elif(score>=60):
grade='及格'
else:
grade='不及格'
print('分数:'+str(score)+'分\n成绩等级:'+grade)
order=input('\n是否继续练习(输入Y(y)orN(n)):')
print('退出程序!')