Input 如何在循环交换所有小写字母时创建。字符串到大写字母,反之亦然? def swap_案例(字符串): pos=0 当pos
这就是我所尝试的,但是它只转换第一个字母,而不转换输入字符串中的其他字母,任何人都可以帮助我理解如何正确编写此代码。我是初学者。代码中的错误在于Input 如何在循环交换所有小写字母时创建。字符串到大写字母,反之亦然? def swap_案例(字符串): pos=0 当pos,input,while-loop,swap,uppercase,lowercase,Input,While Loop,Swap,Uppercase,Lowercase,这就是我所尝试的,但是它只转换第一个字母,而不转换输入字符串中的其他字母,任何人都可以帮助我理解如何正确编写此代码。我是初学者。代码中的错误在于return语句在第一次迭代后太快,这就是为什么只返回第一个字母 例如,不鼓励将“string”用作变量,因为它是保留字 def swap_case(string): pos = 0 while pos < len(string): if string[pos].isupper(): retu
return
语句在第一次迭代后太快,这就是为什么只返回第一个字母
例如,不鼓励将“string”用作变量,因为它是保留字
def swap_case(string):
pos = 0
while pos < len(string):
if string[pos].isupper():
return string[pos].lower()
else:
return string[pos].upper()
pos = pos + 1
print(swap_case('Hello'))
我还将字符串s转换为一个列表['H','e','l','l','o']
,这样每个字母都可以迭代以检查/更改大小写
最后,可以使用''返回转换后的列表。join(s)
另一种方法是使用列表理解,输出与上面相同
hELLO
嘿,
return
立即退出该函数。如果要更改字符串中的字符,需要将赋值用作string[pos]=string[pos].lower()
。
def swap_case(s):
pos = 0
s = list(s)
while pos < len(s):
if s[pos].isupper():
s[pos] = s[pos].lower()
else:
s[pos] = s[pos].upper()
pos = pos + 1
return ''.join(s)
print(swap_case('Hello'))
hELLO
def swap_case(s):
return ''.join([x.lower() if x.isupper() else x.upper() for x in list(s)])
print(swap_case('Hello'))