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

求助:Python执行字符串转盲文编码时触发TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'str'报错

解决TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'str'的问题

嘿,我来帮你搞定这个报错问题!你遇到的这个类型错误,核心原因是把Python内置的input函数当成字符串变量来拼接了。看你代码里的这两行:

word=input + '000001'
word=input+braillecodes[asciicodes.index(s[i].lower())]

这里的input是Python用来获取用户输入的内置函数,不是你之前定义的word变量,函数和字符串当然不能用+拼接,所以触发了这个错误。

除此之外,你的代码还有几个小问题需要调整:

  • 函数参数s完全没用到,反而在函数内部重新调用input拿输入,这不符合函数的设计逻辑,应该直接用传入的s
  • 循环里每次都直接赋值word,而不是累加结果,最后只会保留最后一个字符的盲文
  • 大写字母的处理逻辑不对,应该在对应字符的盲文前加000001标识,而不是乱拼接

我给你改好了代码,你可以直接用:

def solution(s):
    # 初始化空字符串用来存最终的盲文结果
    braille_result = ""
    # 遍历输入字符串的每一个字符
    for char in s:
        # 如果是大写字母,先添加大写标识,再转成小写处理
        if char.isupper():
            braille_result += '000001'
            char = char.lower()
        # 找到字符在对照表中的位置,拼接对应的盲文编码
        try:
            char_index = asciicodes.index(char)
            braille_result += braillecodes[char_index]
        except ValueError:
            # 如果字符不在对照表中,用空格的盲文代替(也可以改成你需要的默认值)
            braille_result += '000000'
    return braille_result

# ASCII-盲文对照表
asciicodes = [' ', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
braillecodes = [ '000000', '100000', '110000', '100100', '100110', '100010', '110100', '110110', '110010', '010100', '010110', '101000', '111000', '101100', '101110', '101010', '111100', '111110', '111010', '011100', '011110', '101001', '111001', '010111', '101101', '101111', '101011']

# 测试一下,传入's'会输出对应的盲文
print(solution('s'))
# 也可以测试大写字母,比如print(solution('Hello World'))

给你说说修改的关键点:

  1. 放弃了误用的input函数,用braille_result变量来逐步累加盲文结果
  2. 直接使用函数传入的s参数,让函数可以处理任意传入的字符串,而不是只能处理手动输入的内容
  3. 大写字母的处理逻辑改成了先加标识再转小写,符合盲文的编码规则
  4. 加了try-except块,防止遇到不在对照表中的字符导致程序崩溃
  5. 用for char in s的方式遍历字符,比用索引遍历更简单直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:32:39