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

Python for循环字符串拼接失效 无法生成偶数位字符新串

问题产生原因
  • 核心错误是循环内的拼接逻辑写错了:你使用了==相等比较运算符,代码行(q + x[i]) == q只会判断「拼接后的临时字符串和初始空字符串q是否相等」,返回的布尔值没有任何变量接收,完全不会修改变量q本身的值,因此q从头到尾都是初始化的空字符串,最终输出自然为空。
  • 就算把==错换成=,写反赋值方向也会触发语法报错:Python的赋值规则是右侧表达式计算完成后,赋值给左侧的变量,把待存储的拼接结果放在等号左侧不符合语法要求。
代码修改方案

最小修改(保留原有循环逻辑)

只需要把循环内错误的比较语句替换为正确的赋值语句即可,修正后完整代码:

q = ""
x = input("Bir string giriniz: ")
if len(x) != 0:
    for i in range(len(x)):
        if i % 2 == 0:
            # += 是 q = q + x[i] 的简写,将拼接结果重新赋值给q
            q += x[i]
print(q)

注:input()返回值本身就是字符串类型,不需要额外套str()做类型转换。

更简洁的Python原生实现

Python字符串原生支持步长切片,不需要手动写循环判断索引,按照s[起始位置:结束位置:步长]的切片规则,从索引0开始、步长为2取字符,刚好对应所有偶数索引位置的字符,代码可以简化为:

x = input("Bir string giriniz: ")
# 省略起始位置默认从0开始,省略结束位置默认取到字符串末尾,步长设为2
print(x[::2])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:27:29