将所有大写字符替换为 'X',将所有小写字符替换为 'x',同时保持任何空格或符号相同

  • 本文关键字:替换 字符 空格 任何 符号 python anonymize
  • 更新时间 :
  • 英文 :


我正在尝试创建一个代码,将输入字符串替换为"匿名"代码。我想用"X"替换所有大写字符,用"X"替换所有小写字符,同时保持任何空格或符号不变。

我理解<lt;变量>>.replace<lt;旧值、新值>>和如果用于循环,但在实现它们以执行我想要的操作时遇到问题,请提供帮助?

很抱歉,如果我发布的代码不正确,我是这个的新手

input_string   =  input( "Enter a string (e.g. your name): " ) 
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for input in input_string:
if input in input_string:
input_string = lower.replace(input, "x")
if input in upper:
input_string = upper.replace(input, "X")`
print( "The anonymous version of the string is:", input_string )

有一些标准函数可以指示字符是大写还是小写。这些是支持Unicode的(在Python3和更新版本中(,因此它们也适用于重音字符。所以你可以使用

''.join('x' if x.islower() else 'X' if x.isupper() else x for x in text)

其中text是您的输入字符串。例如,

input_string   =  input( "Enter a string (e.g. your name): " ) 
result = ''.join('x' if x.islower() else 'X' if x.isupper() else x for x in input_string)

带有输入

I am trying to create a code where I substitute an input string into an 'anonymous' code.

中的结果

"X xx xxxxxx xx xxxxxx x xxxx xxxxx X xxxxxxxxxx xx xxxxx xxxxxx xxxx xx 'xxxxxxxxx' xxxx."
python中的字符串是不可变的,因此您需要通过循环输入来构建一个新的字符串。

在你的代码中,lower.replace(input, "x")并没有这样做——也就是说用x替换字母表的内容,字母表的字符与你的输入相匹配。换句话说,你想改为使用input.replace,但显然没有尝试插入整个字母表。


这里有一个例子,可以在不键入字母的情况下检查字符的大小写

input_string = input( "Enter a string (e.g. your name): " ) 
output_string = []
for c in input_string: 
if c.isupper(): 
output_string.append('X')
elif c.islower(): 
output_string.append('x')
else:
output_string.append(c) 
print( "The anonymous version of the string is:", ''.join(output_string))

例如,另一种解决方案是使用re.sub"[A-Z]", "X",但这取决于您学习它们是如何工作的

相关内容

  • 没有找到相关文章

最新更新