m0_66754108 2022-05-10 23:03 采纳率: 72.7%
浏览 2275
已结题

python中flag 用法

我问下这里为什么要加 flag=False和flag=True,有谁能帮忙解释下吗?

def delete():
while True:
student_id=input('请输入要删除学生的ID:')
if student_id!='':
if os.path.exists(filename):
with open(filename,'r',encoding='utf-8')as file:
student_old=file.readlines()
else:
student_old=[]
flag=False
if student_old:
with open(filename,'w',encoding='utf-8')as wfile:
d={}
for item in student_old:
d=dict(eval(item))
if d['id']!=student_id:
wfile.write(str(d)+'\n')
else:
flag=True
if flag:
print(f'id为{student_id}的学生已被删除')
else:
print(f'没有找到ID为{student_id}的学生信息')
else:
print('无学生信息')
break

  • 写回答

1条回答 默认 最新

  • 溪风沐雪 2022-05-10 23:37
    关注

    大概看了一下功能是要删除一个学生信息,用flag是为了区分两种对立的情况一种是找到了,然后删除,另一种是没找到,后边需要根据前边的操作结果打印处理结果信息,所以需要一个标志变量来记录前边的处理结果,当然你可以在给flag赋值的地方直接打印处理信息,这只是一种处理方式,不是必须的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 提问应符合社区要求 12月5日
  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 5月10日

悬赏问题

  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳
  • ¥15 海康hlss视频流怎么播放
  • ¥15 Paddleocr:out of memory error on GPU
  • ¥30 51单片机C语言数码管驱动单片机为AT89C52