Python程序if语句报错无法运行 代码故障排查求助
问题根因
这是典型的Python缩进语法错误。Python不靠大括号、靠缩进判定代码块的从属关系,你写的if/elif代码块比上一行choice = int(input())多缩进了一级,没有和while循环内的其他语句保持同级,解释器读到if行的时候就会抛出缩进错误,这也是VS Code把错误标在if位置的原因。
修复方案
把if、elif开头的行,以及其下属的print语句整体回退一级缩进,和while循环内的print语句、choice赋值语句保持相同缩进层级即可。如果要做的更完善,可以补充非法输入的分支,避免用户输入1、2之外的内容时程序无反馈。
修复后可运行代码
while True: print("油管模拟器") print("1. 搜索视频") print("2. 剪辑视频") choice = int(input()) if choice == 1: print("正在搜索视频...") print("找不到对应视频!") elif choice == 2: print("正在进入剪辑界面...") print("没有可剪辑的视频?") else: print("输入无效,请输入1或2选择对应功能")
排查提示
- 写Python时同一代码块下的所有语句必须保持统一缩进,不要混用空格和制表符,避免出现这类语法报错。
- 很多时候解释器标注的错误行不一定是写错的第一现场,像这次的缩进问题,解释器读到if行才发现缩进不符合规则,就会把错误标在if位置,实际问题是这部分代码整体缩进层级错了。
内容的提问来源于stack exchange,提问作者TrashBin
相关产品推荐
相关产品推荐

