我的程序运行良好,除了一点:

2024-09-28 19:35:37 发布

您现在位置:Python中文网/ 问答频道 /正文

预期输入:"HAHAHAHA"输出为:"hahaha",但它不是一行打印的

def l_case(l):
     for c in l:
          print(chr(ord(c)+32))

Tags: infordefcaseprintchrordhahaha
3条回答

看起来您正在定义一个将字符串转换为小写的函数。已经有一种方法可以:

lowercased_string = old_string.lower()
print(lowercased_string)

我不知道为什么要将32添加到序数中,但如果我对函数的用途有误解,下面是如何将每个字符变为小写并将字符打印在同一行上:

def l_case(l):
    for c in l:
        print(chr(ord(c)+32).lower(), end="")

any_string.lower()any_string转换为小写,并且end=""阻止打印新行

使用列表理解来完成这一切会更简单:

def l_case(l):
    print("".join(chr(ord(c) + 32).lower() for c in l))

我只想使用字符串方法lower。例如:

>>> "HAHAHAHA".lower()
'hahahaha'
>>> 

请注意,这将使数字、标点符号和字母等已经是小写的内容保持不变

如果必须使用此方法,请尝试以下方法:

def l_case(l):
     s = ""
     for c in l:
          s += chr(ord(c)+32)
     print(s)

相关问题 更多 >