擅长:python、mysql、java
<p>正如在注释中提到的,您正试图对列表使用<code>or</code>和<code>==</code>,但它们在Python中根本不起作用。你知道吗</p>
<p>你需要逐个检查每个字符。你知道吗</p>
<pre><code>swappedCase = input("Enter text: ").swapcase()
print(swappedCase)
letters = {"I", "i"}
leftPositions = {swappedCase.find(letter) for letter in letters}
leftPos = min((position for position in leftPositions if position > -1), default=-1)
rightPos = max(swappedCase.rfind(letter) for letter in letters)
if leftPos > -1 or rightPos > -1:
altered = swappedCase
if leftPos > -1:
altered = altered[:leftPos]+txt4[leftPos+1:]
if rightPos > -1:
altered = altered[:rightPos]+txt4[rightPos+1:]
print(altered)
else:
print("Letter \"i\" not found!")
</code></pre>
<p>代替<code>"I" or "i"</code>(它总是返回<code>"I"</code>,因为它是第一个<code>True</code>值),我们对每个值(从一个集合中)进行<code>find()</code>和<code>rfind()</code>,然后找到不是<code>-1</code>的最小值和最大值来找到最左边和最右边的匹配项,然后我们可以进行替换,大致与您之前所做的一样。你知道吗</p>