I am a teacher!

导航

习题解析之:字符大小写转换

【问题描述】

输入一个字符串,将其中大写字母转为小写,小写字母转为大写,其他字符保持原样,输出转换后的字符串。

输入格式
输入一个字符串。

输出格式
输出转换后的字符串。

示例
输入:

"Hello, Python 3.7.4"

输出:

"hELLO, pYTHON 3.7.4"

【编程思路1】

        直接用字符串处理函数来完成。

        在字符串处理函数中,有下面 5 个函数与字母的大小写转换有关。分别是:

        upper() :将字符串中的字母全部转换为大写;
        lower():将字符串中的字母全部转换为小写;
        capitalize():将字符串中的首字母大写;
        title():将字符串中的每个单词首字母大写。
        swapcase():将字符串中的字母的大小写互换,即大写字母转换为小写字母,小写字母转换为大写字母。
        例如,print('I am a boy.'.upper()) 的输出结果为 I AM A BOY. 
                   print('I am a boy.'.lower()) 的输出结果为 i am a boy.
                   print('am a boy.'.capitalize()) 的输出结果为 Am a boy. 
                   print('am a boy.'.title()) 的输出结果为 Am A Boy.
                   print('I am a boy.'.swapcase()) 的输出结果为 i AM A BOY.
        因此,本题可以直接用字符串函数 swapcase() 完成转换,编写源程序如下:

       image

 【编程思路2】

        Python 中有两个内置函数ord() 和 chr() 用于实现字符与 ASCII 码的转换。具体方法如下:
        ord() 函数: 将单个字符转换为其对应的ASCII码(整数)。
        例如,print(ord('A'))    # 输出:65
                   print(ord('a'))    # 输出:97
        chr() 函数:将整数(0-1,167,772,151)转换回对应的 ASCII 字符。
        例如,print(chr(65))    # 输出:A
                   print(chr(97))   # 输出:a
        对于英文字母而言,将大写字母的ASCII 码值加上 32 就是其对应小写字母的 ASCII 码值,同样,将小写字母的ASCII 码值减去 32 就是其对应大写字母的 ASCII 码值。
        为此,我们可以编写一个不采用字符串处理函数的字母大小写转换程序。
        用循环 for c in src: 遍历待转换字符串中的每个字符 c ,若字符 c 是大写字母将其 ASCII 码值加上 32 后,转换为小写字母;若字符 c 是小写字母将其 ASCII 码值减去 32 后,转换为大写字母;若字符 c 不是字母,则保持不变。
        编写源程序如下:

        image

posted on 2025-11-14 16:43  aTeacher  阅读(0)  评论(0)    收藏  举报