这个程序的目标是获取用户输入并将其转换为ascii文本。你知道吗
代码按其应该的方式工作,但不包括逗号、句点、感叹号或问号。你知道吗
我试着包括:!, ?,'和逗号,作为一个单独的列表,并尝试在输入中调用它。但我不知道怎么做。你知道吗
目前我只使用了一堆else if语句,它是有效的,但我觉得必须有一个更简单的方法来解决这个问题。我真的不知道怎么做。小费是非常感谢!你知道吗
def asciiToLeet(c):
l33tLetters = ["@", "8", "(", "|)", "3", "#", "6", "[-]", "|", "_|", "|<", "1", "[]\/[]", "[]\[]", "0", "|D", "(,)", "|Z", "$", "']['",
"|_|", "\/", "\/\/", "}{", "`/", "2"]
if c == ' ': return ' '
elif c == '.': return '.'
elif c == ',': return ','
elif c == '?': return '?'
elif c == '!': return '!'
elif c == "'": return "'"
asciiCode = ord(c)
if asciiCode >= ord('a') and asciiCode <= ord('z'):
return l33tLetters[asciiCode - ord('a')]
if asciiCode >= ord('A') and asciiCode <= ord('Z'):
return l33tLetters[asciiCode - ord('A')]
return ""
if __name__ == "__main__":
inputString = input()
outputString = ""
for c in inputString:
outputString += asciiToLeet(c)
print(outputString)
我期望代码用标点符号显示输出,而不必使用if-else语句。你知道吗
方法末尾有
return ""
。因此,如果所有查找都失败,它将丢弃输入字符。相反,请执行return c
。这将导致输入字符返回原样,如果查找使其“leet”不匹配。你知道吗相关问题 更多 >
编程相关推荐