小白教程

 找回密码
 立即注册
查看: 5531|回复: 3

[已解决]救救我这个小白,循环出不去了

[复制链接]

1

主题

2

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2021-5-14 16:29:23 | 显示全部楼层 |阅读模式


最佳答案
2021-5-25 16:56:37
你那个for循环并不是用来输入判断的,是从一个文件中读取所有行,然后针对每一行进行输入修改。如果你要同时跳出for循环,那么你可以增加一个变量,当在while循环中需要break前,将这个变量置为某个值,然后在for循环中判断这个值,如果是你想要退循环的,就在for循环中break。

比如,在“show()”下面加一行:needExit=False
在“for item in student_old:”下面加一行判断:if needExit==True: break
将你新加的“if d["name"]=="exit":break”这一行改为:
if d["name"]=="exit":
    needExit=True
    break

这样应该就可以了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

7

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2021-5-15 16:31:02 | 显示全部楼层
你那个 while True 语句根本就没有退出的机制呀
应该在修改全部成功后要跳出循环。
回复

使用道具 举报

1

主题

4

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2021-5-23 10:26:20 | 显示全部楼层
的except后加break,那只有在出错时才能跳出循环。看你这段代码,是将输入的内容存文件,那么建议判断输入特定的字符串后,跳出循环。比如判断if d["name"]=="exit":break
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-5-25 16:56:37 | 显示全部楼层 &
你那个for循环并不是用来输入判断的,是从一个文件中读取所有行,然后针对每一行进行输入修改。如果你要同时跳出for循环,那么你可以增加一个变量,当在while循环中需要break前,将这个变量置为某个值,然后在for循环中判断这个值,如果是你想要退循环的,就在for循环中break。

比如,在“show()”下面加一行:needExit=False
在“for item in student_old:”下面加一行判断:if needExit==True: break
将你新加的“if d["name"]=="exit":break”这一行改为:
if d["name"]=="exit":
    needExit=True
    break

这样应该就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 15:06 , Processed in 0.116105 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表