Python中while语句后预期缩进块的IndentationError问题求助
解决Python while循环的缩进错误问题
错误原因
Python通过缩进识别代码块,while、if这类控制语句后面必须紧跟缩进的代码块(通常用4个空格)。你的代码里while True:后的语句未正确缩进,导致触发IndentationError。同时代码还存在多余输入语句、逻辑缩进混乱、平均分计算逻辑错误等问题,以下是修正后的完整代码:
修正后的代码
# 用户名验证循环 while True: print("please enter username") username = input() if username == "Elias": print("username correct") break # 密码验证循环 while True: print("please enter password") password = input() if password == "1234567890": print("access granted") break # 平均分计算 print("rechner:") variable_a = input("alle noten mit + zeichen eintippen: ") # 分割分数字符串并转换为整数列表 grades = list(map(int, variable_a.split("+"))) # 计算平均分 average = sum(grades) / len(grades) print("Dein Durchschnitt ist", average)
关键修改点
- 所有
while、if语句后的代码块统一用4个空格缩进,明确代码块归属 - 移除多余的
input()语句,避免重复等待输入 - 调整
break语句的缩进,确保满足条件后先执行提示信息再退出循环 - 修复平均分计算逻辑:将输入的
+分隔字符串分割后转成整数,通过总和除以数量得到正确平均分,替代原代码中无意义的新输入除法操作
内容的提问来源于stack exchange,提问作者Odyesp _
相关产品推荐
相关产品推荐

