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

Python初学者使用for循环计算二进制数时遇TypeError问题求助

问题排查与解决方案

错误原因

你代码里的binairy是字符串类型(列表里的元素用双引号包裹,属于字符串),Python不支持字符串和整数直接进行幂运算(**),所以抛出TypeError。

解决方案

根据你的需求(计算二进制数+获取长度),分两种场景给出代码:

场景1:二进制转十进制后计算平方

如果是想把二进制数转换成十进制整数后计算平方,同时获取原二进制字符串的长度:

for binary in ["101011101"]:
    # 将二进制字符串转为十进制整数
    decimal_num = int(binary, 2)
    # 计算平方
    squared_result = decimal_num ** 2
    print(f"十进制平方结果:{squared_result}")
    # 打印原二进制数的长度
    print(f"原二进制数长度:{len(binary)}")

场景2:计算二进制数的平方并保留二进制形式

如果需要平方结果仍为二进制字符串,同时可查看原数和结果的长度:

for binary in ["101011101"]:
    decimal_num = int(binary, 2)
    squared_decimal = decimal_num ** 2
    # 将平方后的十进制数转回二进制字符串,去掉默认的'0b'前缀
    squared_binary = bin(squared_decimal)[2:]
    print(f"二进制平方结果:{squared_binary}")
    print(f"原二进制数长度:{len(binary)}")
    print(f"平方后二进制数长度:{len(squared_binary)}")

另外注意:变量名binairy是拼写错误,正确应为binary,虽然不影响代码运行,但建议修正以符合规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:55:14