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

Python自定义swapboth函数触发Invalid Syntax语法错误原因求解

Python swapboth函数语法错误原因说明

你遇到的Invalid Syntax错误由两个基础语法问题共同导致:

  • 条件判断行缺失冒号:Python 语法要求if、elif等条件判断语句的行末尾必须加英文冒号:,你代码中if type(x) == str、elif type(x) == list两行末尾都没有添加冒号,直接触发语法报错。
  • 代码块缩进不符合规范:Python 强制要求函数内部的代码块必须相对于def定义行缩进(通常用4个空格或1个制表符),你代码中if、elif及对应的return语句都没有缩进,和def行处于同一层级,违反了语法规则。

修正后的可运行代码

def swapboth(x):
    # 补充说明:推荐用isinstance替代直接判断type,可适配继承str/list的自定义子类场景
    if isinstance(x, str):
        return x[-1] + x[1:-1] + x[0]
    elif isinstance(x, list):
        return [x[-1]] + x[1:-1] + [x[0]]

# 测试代码
ns = [1,2,3]
s = "Thorsten"
print(swapboth(ns))
print(swapboth(s))

运行后输出结果:

[3, 2, 1]
nhorsteT

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:18:03