跳空白放错地方,词数变了吗
另一个人把「跳空白」写进了字符串扫描的循环里面(其余完全正确)。输出两个数:这样切出的词数,以及和正确切法内容不同的词有几个,用 / 拼起来。
let rate = 12; let msg = "hi there"; total = rate >= 3;
KEYWORDS = ("let", "if", "else", "while")
TWO = ("==", "!=", ">=", "<=")
ONE = "+-*/=<>;()"
SRC = 'let rate = 12;\nlet msg = "hi there";\ntotal = rate >= 3;'
import re
PAT = re.compile(r'[A-Za-z_]\w*|\d+|"[^"]*"|==|!=|>=|<=|[+\-*/=<>;()]')
good = [m.group() for m in PAT.finditer(SRC)]
bad = [t if t[0] != '"' else '"' + t[1:-1].replace(" ", "") + '"' for t in good]
diff = sum(1 for a, b in zip(good, bad) if a != b)
print(str(len(bad)) + "/" + str(diff))
全部评论