首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用While循环和条件按字母顺序排列字符串?

如何使用While循环和条件按字母顺序排列字符串?
EN

Stack Overflow用户
提问于 2020-10-31 16:01:40
回答 4查看 124关注 0票数 1

给定字符串"aaababababab" (只有'a''b'允许):如何通过只使用like循环将字符串按字母顺序排序为"aaaaaaabbbbb"

这是我目前的尝试:

代码语言:javascript
复制
word = "ababababaabab"
wordfixed = ""
i = 0

while i < len(word):
    if word[i] == "a":
        wordfixed += "a"
        i += 1

    elif word[i] == "b":
        wordfixed += (word[i])
        i += 1

print(wordfixed)

但是它只是简单地将原始单词打印回来。如何让它打印所需的输出?

EN

Stack Overflow用户

发布于 2020-10-31 16:08:53

您的代码不工作,因为您添加了您目前的字母,在结尾-因此,它将是相同的。

相反,您可以在循环一次字符串时计数'a'的数量(for循环更适合,但也可以使用)-然后打印剩余的'b'

代码语言:javascript
复制
word = "ababababaabab"
lw = len(word)
i = 0 
a_s= 0  
while i < lw:
    if word[i] == 'a':
        print("a", end="")  # dont end the line quite yet
        a_s += 1 
    i += 1

# print b's for remaining wordlength minus printed a's
print('b' * (lw-a_s))

或者更好地使用for循环:

代码语言:javascript
复制
a_s = 0
for letter in word:
    if letter == "a":
        a_s +=1
        print(letter, end="")
print('b' * (lw-a_s))
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64623704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档