本文主要是介绍lintcode 1650 Legal Article 编程练习(python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
给定一篇由大写字母、小写字母、逗号、句号组成的文章,求使文章不合法的字母数。
文章不合法有2种情况:
1.句子的第一个字母用了小写。
2.不是单词的首字母用了大写。
代码及注解如下:
# coding=utf-8
class Solution:"""@param s: the article@return: the number of letters that are illegal"""def count(self, s):# Write your code here.st = True #这个变量用来判断是否是句子开头count = 0for i in range(len(s)):c = s[i]if st and c>='a' and c<='z': #如果是句子开头,并且是小写字母,count+1count += 1if (c>='a' and c<='z') or (c >= 'A' and c <= 'Z'):#如果不是句子开头,就把这个变量置为falsest = Falseif c == '.':#如果一个句子结束了,变量重新置为truest = Trueif (i>0 and (s[i-1]!='.' and s[i-1]!=',' and s[i-1]!=' ') and (c >= 'A' and c<='Z')):#非首字母 大写, count+1count += 1return count
这篇关于lintcode 1650 Legal Article 编程练习(python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!