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

输入含空格时Python代码抛出ValueError,如何适配空格字符?

问题修复方案

原代码存在两个核心问题:

  • 空格处理逻辑缺失,遇到空格时会触发ValueError
  • 循环索引逻辑混乱,导致字母转换对应错误(比如输入"Cat"得到错误结果"wzg")

错误原因拆解

  1. 空格报错原因:原代码在循环中错误地判断前一个字符是否为字母,却对当前字符执行索引查找,当遇到空格时,alphabets.index(' ')必然报错,且没有保留空格的逻辑。
  2. 字母转换错误原因:原循环从range(-1, len(get_all_letters)-1)开始,索引操作逻辑混乱,导致字符与反向字母表的对应关系错位。

修复后的代码

import string

# 获取小写字母表和反向字母表
alphabets = string.ascii_lowercase
reversed_alphabets = alphabets[::-1]

# 获取用户输入并转为小写
input_str = input().lower()

result = []
for char in input_str:
    if char == ' ':
        # 空格直接保留
        result.append(' ')
    elif char in alphabets:
        # 找到当前字母在原字母表的索引,取反向字母表对应位置的字符
        idx = alphabets.index(char)
        result.append(reversed_alphabets[idx])

# 拼接结果并输出
print(''.join(result))

验证结果

  • 输入Hello World → 输出svool dilow(符合预期)
  • 输入Cat → 输出xzg(符合预期)
  • 输入ca t → 输出xz g(符合预期)

内容的提问来源于stack exchange,提问作者Dragon RB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:55:28