Как сравнить 2 символа в питоне
Перейти к содержимому

Как сравнить 2 символа в питоне

Функция сравнения символов в строке [закрыт]

Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу

Закрыт 2 года назад .

Необходимо чтобы функция:

И так далее до Длина строки // 2 Буду благодарен за пример кода.

Функция принимает строку произвольного размера, например abcabc После чего сравнивает:

Как сравнивать строки в Python при помощи встроенных операторов

Lorem ipsum dolor

Пример, для чего приводить строку к одному регистру:

str1= “Mark“

str2 = “mark“

print(str1 == str2) #результат будет «false», потому что разные регистры — это разные строки

print(str1.upper() == str2.upper()) #результат будет «true», потому что строки будут в одном регистре

Вот как выглядит зависимость при сравнении строк в Python, в которых содержа тся цифры и разные регистры:

str1 = “2b“

str2 = “bb“

str3 = “Bb“

print(str1 > str2) #результат будет «false», потому что в первой строке первый символ — это цифра, которая по умолчанию «меньше» , чем символ

print(str 2 > str3) #результат будет «true», потому что третья строка начинается с верхнего регистра, а верхний регистр по умолчанию «меньше», чем нижний

Заключение

Сравнение строк в Python не сложно реализовать, если понимать тонкости и особенности этого самого сравнения, которые мы сегодня обсудили.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как работает сравнение двух символов (внутри строки) в Python

Я начинаю изучать Python и заглянул на следующий веб-сайт: https://www.w3resource.com / питон -упражнение / строка / Я работаю над # 4, который называется «Напишите программу на Python, чтобы получить строку из заданной строки, где все вхождения ее первого символа были заменены на« $ », кроме самого первого символа».

Я ожидал бы «Resta $ T», но фактический результат: $ esta $ T

Спасибо за помощь!

2 ответа

Есть две проблемы, во-первых, вы не начинаете итерацию там, где вы думаете:

i был перезаписан значением, отслеживающим цикл.

Во-вторых, is не означает эквивалентность значений. Это зарезервировано для оператора == . Более простые типы, такие как int и str , могут показаться, что is работают таким образом, но другие типы не ведут себя так:

Как отметил @Kevin в комментариях, в 99% случаев is не тот оператор, который вам нужен.

Что касается вашего кода, str.replace заменит все экземпляры аргумента, предоставленные вторым аргументом, если вы не предоставите ему необязательное количество экземпляров для замены. Чтобы избежать замены первого символа, возьмите первый символ отдельно, например, val = somestring[0] , а затем замените остальные, используя фрагмент, нет необходимости в итерации:

Если вы все еще хотите выполнить итерацию, вы можете сделать это и над срезом:

В вашем коде есть некоторые изменения.

Измените ваш код, как указано ниже.

Кроме того, для написания кода на Python лучше всего использовать Function. Вы можете изменить свой код, как указано ниже, или Вы можете использовать эту функцию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *