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

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日

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮