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

时间:2016-02-24 12:23:26

标签: python

预期输入:"HAHAHAHA"输出为:"hahaha",但不会在一行中打印。

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

3 个答案:

答案 0 :(得分:2)

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

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))

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

请注意,这会留下数字,标点符号和已小写的字母。