我正在学习python并参加一项练习:
字符串.创建一个函数,该函数将返回与输入字符串类似的另一个字符串,但其大小写已反转.例如,输入"Mr. Ed"将导致"mR.DD"作为输出字符串.
我的代码是:
name = 'Mr.Ed'
name_list = []
for i in name:
if i.isupper():
name_list.append(i.lower())
elif i.islower():
name_list.append(i.upper())
else:
name_list.append(i)
print ''.join(name_list)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决它?我的解决方案似乎很奇
ch3*_*3ka 18
你的解决方案非常好.你不需要三个分支,因为str.upper()无论如何,当upper不适用时会返回str.
使用生成器表达式,可以缩短为:
>>> name = 'Mr.Ed'
>>> ''.join(c.lower() if c.isupper() else c.upper() for c in name)
'mR.eD'
Run Code Online (Sandbox Code Playgroud)
只需使用swapcase()方法:
name = "Mr.Ed"
name = name.swapcase()
Run Code Online (Sandbox Code Playgroud)
输出:mR.eD
- >这只是一个两行代码.
说明:
方法swapcase()返回字符串的副本,其中所有基于案例的字符都已交换其大小写.
快乐的编码!
| 归档时间: |
|
| 查看次数: |
18851 次 |
| 最近记录: |