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

Python编写字符转数字编码程序时重复字符仅输出一次如何解决?

问题修复说明

你现有代码的核心问题是仅判断整个输入字符串是否包含某类字符,只要存在就仅输出一次对应编码,没有逐个处理输入的每一个字符,自然无法匹配重复出现的字符输出对应编码。

修复逻辑改为遍历输入的每一个字符,逐个转换即可,参考代码如下:

print("input a message you would like to be converted to a number code")
inpi = input("")

for char in inpi:
    # 匹配原代码空格输出空行的逻辑
    if char == " ":
        print("")
        continue
    # 仅处理小写字母,如需支持大写可先加 char = char.lower()
    if char.islower():
        # 利用ASCII码连续的特性计算对应数字,a对应1、b对应2...z对应26
        code = ord(char) - ord('a') + 1
        print(f"{code}.", end="")

修改点说明:

  • 新增for循环遍历输入的每一个字符,同一个字符重复出现时也会被单独处理,输入abab时会按顺序输出1.2.1.2
  • 不需要为每个字母单独写if判断,利用字符ASCII码的特性自动计算对应数值,自动支持a到z所有字母的转换,无需手动补充规则
  • 保留了你原代码中空格的处理逻辑,输入遇到空格时会输出空行

内容的提问来源于stack exchange,提问作者Meredith Hodous

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:27:03