You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修正Python代码以统计含字母'a'的输入字符串数量?

修正Python代码:统计包含字母'a'的输入字符串数量

需求回顾

编写程序统计包含字母‘a’的输入字符串数量,当输入字符串为“####”时终止程序,预期运行示例如下:

输入字符串(输入####停止):apple
输入字符串(输入####停止):banana
输入字符串(输入####停止):strawberry
输入字符串(输入####停止):book
输入字符串(输入####停止):####
3个包含字母'a'的字符串

原代码存在的问题

  • 初始while str!= "####"会触发NameError,因为str变量未提前定义
  • 输入提示文本与示例要求不符
  • 判断字母'a'的语法错误:if letter in str = 'a'是非法表达式;同时循环内的else: break会导致只要第一个字符不是'a'就停止检查,无法正确判断整个字符串是否包含'a'
  • 统计逻辑错误:原代码会对每个'a'字符计数,而需求是统计包含'a'的字符串的数量,而非字符个数
  • 输入"####"时仍会进入检查逻辑,不符合终止要求

修正后的代码

count = 0
while True:
    input_str = input("输入字符串(输入####停止):")
    # 遇到终止符直接退出循环
    if input_str == "####":
        break
    # 判断当前字符串是否包含字母'a',符合条件则计数+1
    if 'a' in input_str:
        count += 1
# 按照预期格式输出结果
print(f"{count}个包含字母'a'的字符串")

修正说明

  • 用while True构建无限循环,通过判断输入是否为"####"主动终止,避免未初始化变量的错误
  • 调整输入提示文本,与示例完全一致
  • 利用Python字符串的in操作符直接判断是否包含'a',无需遍历字符,简洁高效
  • 仅当输入不是终止符且包含'a'时,才对计数器加1,完全符合需求的统计逻辑
  • 使用f-string格式化输出,匹配预期的结果格式

内容的提问来源于stack exchange,提问作者Aishwarya Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 22:45:33