Python判断一个句子是否为标题文本

Python每日一练


问题:

编写一个程序来判断一个句子是否为标题文本。

定义函数is_title(),参数为一个句子。
在函数内,如果句子中的每个单词都以大写字母开头,则返回True,否则返回False。

题目来源:PythonTip
https://edu.py2fun.com/


代码实现

代码如下(示例):

def is_title(sentence):
    # 在此处编写代码
    sentence_list = sentence.split()	# 将句子的单词分割出来,返回一个列表
    for i in sentence_list:		# for循环把每个单词从列表拿出来
        if i[0].isupper():		# 对每个单词的首字母进行判断,如果是大写字母则循环跳过
            continue
        else:
            return False
    
    return True

# 从用户处获取输入
input_sentence = input()
# 调用函数
print(is_title(input_sentence))

示例输入:

The Quick Brown Fox

示例输出:

True


总结

纵观上述代码,思想明了,逻辑简单,无需赘述。
代码中又一次使用了字符串的split()函数,之前的博文里已经解释过它的用法,感兴趣的小伙伴可以点击前往

这里我们尝试对Python判断字母大小写的3种常用方法做一个小结。

方法一:使用isupper()和islower()方法
Python中的字符串对象有两个方法可以用来判断字母的大小写:isupper()和islower()。isupper()方法返回True,如果字符串中的所有字母都是大写的;islower()方法返回True,如果字符串中的所有字母都是小写的。

代码如下(示例):

# 判断字母是否为大写
letter = 'A'
if letter.isupper():
    print("字母是大写的")
else:
    print("字母是小写的")

# 判断字母是否为小写
letter = 'a'
if letter.islower():
    print("字母是小写的")
else:
    print("字母是大写的")

示例输出:
字母是大写的
字母是小写的

方法二:使用ASCII码值
每个字母在计算机中都有一个对应的ASCII码值。我们可以通过比较字母的ASCII码值来判断其大小写。大写字母的ASCII码值范围是65到90,小写字母的ASCII码值范围是97到122。

代码如下(示例):

# 判断字母是否为大写
letter = 'A'
if ord(letter) >= 65 and ord(letter) <= 90:
    print("字母是大写的")
else:
    print("字母是小写的")

# 判断字母是否为小写
letter = 'a'
if ord(letter) >= 97 and ord(letter) <= 122:
    print("字母是小写的")
else:
    print("字母是大写的")

示例输出:
字母是大写的
字母是小写的

方法三:穷举法
将26个字母分别按大小写存入一个列表,将需要判断的字符拿出来进行比对

代码如下(示例):

# 生成字母表
upper_list = []
lower_list = []

for i in range(26):
    upper_list.append(chr(ord('A')+i))
    lower_list.append(chr(ord('a')+i))

# 判断字母是否大写
letter = 'A'
if letter in upper_list:
    print("字母是大写的")
else:
    print("字母是小写的")

# 判断字母是否为小写
letter = 'a'
if letter in lower_list:
    print("字母是小写的")
else:
    print("字母是大写的") 

示例输出:
字母是大写的
字母是小写的

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值