Строки в 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"
но это зависит от вас, чтобы узнать, как они работают