python中if...else...必须对齐,结果却错了! |
您所在的位置:网站首页 › jk格裙格子要对齐吗 › python中if...else...必须对齐,结果却错了! |
需求场景
现有以下字符串: string = "liu de hua"请打印该string字符串中的每个字母,并判断string中是否存在字母“e”,如果存在,停止打印;否则,输出:“字符串中不存在字符e”。 解析 使用for-in循环,遍历string;输出当前字母;使用if-else,如果存在字母“e”,结果循环,否则,输出:“字符串中不存在字符e”。 编写代码 string = "liu de hua" for i in string: print("当前字母为:"+ i) if i == 'e': print("字符串中包含字母e") break else: print("字符串中不存在字母e")竟然如此简单了! 本人预想目标结果如下: 当前字母为:l 当前字母为:i 当前字母为:u 当前字母为: 当前字母为:d 当前字母为:e 字符串中包含字母e运行,结果如下: 大家都知道python对空格有非常严谨的要求,大家分析如下代码,if-else的格式是不是存在问题? string = "liu de hua" for i in string: print("当前字母为:"+ i) if i == 'e': print("字符串中包含字母e") break else: print("字符串中不存在字母e")if语句中else却与for对齐了,这是什么操作? 先看看运行结果: 我们将string中字母“e”删除,查看else中的内容是否正常输出呢? string = "liu d hua" for i in string: print("当前字母为:"+ i) if i == 'e': print("字符串中包含字母e") break else: print("字符串中不存在字母e")运行结果: 首先我们梳理下需求: 请打印该string字符串中的每个字母,并 判断string中是否存在字母“e”,如果存在,停止打印;否则,输出:“字符串中不存在字符e”。 1. 首先,需要判断整个string中是否存在字母“e”;也就是说要for遍历完,将整个string中的每个字母进行对比,若果存在,就退出循环,不再执行else后面的内容 。 2. 其次,如果对比完整个string,不存在字母“e”,那么就再else后的内容。再看一下第一次我写的代码: string = "liu de hua" for i in string: print("当前字母为:"+ i) if i == 'e': print("字符串中包含字母e") break else: print("字符串中不存在字母e")我们将else放在了for循环里面,当对比第一个字母时,若果不是“e”,就执行了else后面的内容;依次循环,对比一次,执行一次else。 我们想要的是对比完整个string,如果没有字母“e”,再执行else。 所以,else在格式要与for对齐!!! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |