Python自定义函数

img

之前弄明白了ord和chr运用,但是编写的代码还是无法运行这道题目,不知道问题出在哪,想看看大家怎么写。另外可能我没太搞懂调用,一直不允许不输出不知道是不是受到了调用影响

def lower_self(s):
    result = ""
    for c in s:
        # 判断字符是否为大写字母
        if ord('A') <= ord(c) <= ord('Z'):
            # 将大写字母转换为小写字母
            result += chr(ord(c) - ord('A') + ord('a'))
        else:
            result += c
    return result

while True:
    # 读取用户输入的字符串
    s = input("请输入一个字符串(n或N退出):")
    if s == "n" or s == "N":
        break
    
    # 调用 lower_self 函数将大写字母转换为小写字母,并输出结果
    print(lower_self(s))

在这段代码中,首先定义了一个 lower_self 函数,用于将输入字符串中的大写字母全部变成小写字母。函数使用一个空字符串 result 存储转换后的字符串,对于每个字符,如果是大写字母,则通过 ord 和 chr 函数进行字符编码的转换,将大写字母转换为小写字母;否则直接将字符添加到结果字符串中。最后返回转换后的字符串。

在 while True 循环中,先读取用户输入的字符串 s,然后判断如果 s 是字符 n 或 N,则退出循环;否则调用 lower_self 函数将大写字母转换为小写字母,并输出结果。需要注意的是,在 Python3 中,input 函数可以读取用户输入的字符串,因此代码可以直接使用 input 函数读取用户输入,并不需要使用 raw_input 函数。