本帖最后由 Daniel_Zhang 于 2021-1-17 17:03 编辑
你有这个问题的话,说明你对程序的运行逻辑还是不太了解
其实你在写的时候,可以想一想每一句自己究竟在干什么。
比如说你的 while True,就是当你没有退出时,一直循环整个程序的主体,也就是你想要多次输入密文,直到你退出程序。
那么问题就来了,你想要每次输入之后,获得一次明文对吧?但是你一开始的写法,会一直要求你输入密文,直到退出程序,此时肯定就不是你想要的,所以你的 print 要有一个缩进,让它在 while True的判断下面,当 while True 的时候,获取指定的密文,输出对应的明文
总的来说,你在敲代码之前,要想好,你的逻辑关系是什么。比如说你上午要做的任务如下:起床,穿衣,刷牙洗脸,上厕所,洗手,吃饭,学习,睡觉。下面均为伪代码~
那么你就要想到,你只有起床了,你才能穿衣对吧?所以穿衣得在这个 if的条件下面,即有一个缩进,当满足 if 的条件时,才能穿衣。
if 起床:
穿衣
因此,如图所示,其它的事情要在 if 的下面,不然你实现不了想要的目的
再接下来只需要满足穿衣的条件就可以去上厕所了(冬天冷,夏天就无所谓了
)
if 穿衣:
上厕所
那么问题就来了,是不是上厕所以后你得洗手?如果没洗手,干别的,呕
所以你得有一个 if 在这里判断,如果你上厕所了,那么就要洗手,并且只有洗手之后,你才能刷牙洗脸
if 上厕所:
洗手
if 洗手:
刷牙洗脸
然后刷牙洗脸之后,你才能吃饭,所以:
if 刷牙洗脸:
吃饭
吃饭后学习,学习后午休,以此类推
小明一生坚持按照某一个顺序做事,直到放弃(退出,或者挂了)了
while True:
if 起床:
穿衣
if 穿衣:
上厕所
if 上厕所:
洗手
if 洗手:
洗脸刷牙
if 洗脸刷牙:
吃饭
if 吃饭:
学习
if 学习:
睡觉
所以这一生持续判断自己有没有完成if 里面的条件,当完成了,才能进入 if,否则将反复循环,直到小明完成了 if
但是此时,一个令人难以抵挡住诱惑的事情发生了,小明很想看某个学习资料文件夹里面的
某知名男星龟兄的 视频!!!
管他呢,劳资不论有没有起床也能看,不论有没有吃饭也能看,不论有没有洗手也能看,不需要满足任何其他条件,唯一的条件就是,自己活着(一直在循环)
那么此时,你应该知道了要把这一步放在哪里了吧?直接放在末尾?不不不,前面说了得活着才行,小明挂了就emmmmmm
所以此处你需要缩进,对吧?
while True:
if 起床:
穿衣
if 穿衣:
上厕所
if 上厕所:
洗手
if 洗手:
洗脸刷牙
if 洗脸刷牙:
吃饭
if 吃饭:
学习
if 学习:
睡觉
看视频
人生如此往复,直到被人按下了退出键。注意了,睡觉那一块会有个重置的操作,即把所有的动作均重置为 False,while True就会开启新的一天~否则将持续判断其它的内容