我想以排序方式打印每个大写字母
string = "CbcBcbaA" # type(string) => str
sort_string = sorted(string) # type(sort_string) => list
for char in string:
# type(char) => str
if char.isupper:
print(char)
此打印每个字符,而不是仅打印大写字符
列表中的每个项目都是class <str>
,所以为什么我不能使用字符串方法?
答案 0 :(得分:7)
您忘记了调用该函数。函数本身总是真实的,即
if char.isupper:
等同于
if True:
你想要
if char.isupper():
相反。
答案 1 :(得分:1)
您没有调用函数,只是将成员函数作为对象放置在了那里,尽管如此,该对象仍将评估为true。您应该像这样使用char.isupper()
:
string = "CbcBcbaA" # type(string) => str
sort_string = sorted(string) # type(sort_string) => list
for char in string:
# type(char) => str
if char.isupper():
print(char)
答案 2 :(得分:0)
您必须更改一些代码 这是代码
string = "CbcBcbaA"
sort_string = sorted(string) # type(sort_string) => list
for char in sort_string:
if char.isupper():
print(char,end='')
output
ABC
答案 3 :(得分:-1)
希望这对您有帮助,
string = "CbcBcbaA" # type(string) => str
# define `split` function to split your string in character-based array
def split(word):
return [char for char in word]
splt = split(string)
sort_string = sorted(splt) # type(sort_string) => list
for char in sort_string:
# type(char) => str
if char.isupper():
print(char)