doubleo在他的两个评论中说的是正确的:因为AlbErt中的A和E已经大写了,它们不等于小写的A和E,因此,它们和所有的辅音一起都是小写的。如果你想改变任何字母的大小写,那就需要一个不同的程序。更多的东西是:def changeCaps(string):
i = 0
while i < len(string):
if string[i].islower():
print(string[i].upper())
i = i + 1
else:
print(string[i].lower())
i = i + 1
changeCaps("AlbErT")
这将导致任何大写字母变为小写字母,任何小写字母变为大写字母,而它是否是元音或辅音与此无关。在
另外,为什么不使用for循环呢?这样做同样有效,并且占用更少的代码行:
^{pr2}$
好的,所以它只保存了两行,但在我看来,使用for循环更有意义。无论哪种方式,结果输出将是:aLBeRt
最后一点,正如安东指出的,你甚至不需要一个数字指针,只需在字符串上检查一下。在def changeCaps(string):
for c in string:
if c.islower():
print(c.upper())
else:
print(c.lower())
changeCaps("AlbErT")
(谢谢,安东!)在