5.14--关于循环中平级判断顺序的一点感悟

之前也自学过Python,每次都死在循环上,一直理不清这里面的道道儿,借此机会,有人可以蘑菇,我就充分发挥了厚脸皮的功力来死磨这个‘拦路虎’啦~

下面是通过一个小例题来解释一下有关于Python循环的顺序问题(小白如我,表示已经在这里卡了一个世纪。。),来吧,例题如下:

用Python3写一个登录程序,输入用户名和密码,错误次数最多3次,用户名为空也算一下错误;

下面是我写的代码(还没经过审核,不保证100%正确 [不知所措脸]):

name = input(‘请输入用户名:‘)passwd = input(‘请输入密码:‘)count = 0 # 先规定错误次数

while True: # 灵活利用死循环来控制输入~~    if name == ‘zhlan‘ and passwd == ‘123456‘: # NO.1        print(‘欢迎%s登录‘%name)        break    elif count > 2: # NO.2        print(‘错误次数超过3次,该用户已被锁定‘)        break    elif name == ‘zhlan‘ and passwd != ‘123456‘: # NO.3        passwd = input(‘密码错误,请重新输入:‘)        count = count + 1        print(count)        continue    elif name != ‘zhlan‘ and name != ‘‘: # NO.4        name = input(‘用户名错误,请重新输入:‘)        count = count + 1        print(count)        continue    elif name == ‘‘: # NO.5 -- 判断用户名是否为空。。        name = input(‘用户名不存在,请重新输入:‘)        count = count + 1        print(count)        continue

注意:NO1、NO2、NO3、NO4、NO5 为平级关系,并且!有先后顺序啊同学们!从上到下!从1到5!【敲黑板!!】

刚开始我把count>2的判断放在了最后,运行了之后发现不起作用,为什么呢?因为密码错了,次数加1,走NO3,有路走;用户名错了,次数加1,走NO4,有路走;用户名不存在,次数加1,走NO5,有路走;按照从上到下判断的逻辑,如果我把count>2放在最后,永远都走不到这条路上来啊对不对?!,,,知道真相的我眼泪掉下来T_T

然后我就count的判断放在了前面,好使啦~开心~~

接下来,判断不平级的话,改怎么办呢?这个没有具体的例题,所以我只好来举一反三一下,有鉴于上,私认为应该是酱紫:先外后内,先上再下,以此类推。。

理论联系实践,等有了例题我再来补啊,,,T_T

时间: 2024-12-07 22:03:25

5.14--关于循环中平级判断顺序的一点感悟的相关文章

C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例

C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判定玩家是否有权限做出这种选择,然后才决定是否为玩家执行此选择.例如,<仙剑奇侠传>这款游戏,进入剧情"荷叶迷宫时",会要求玩家击碎迷宫里的5尊雕塑,如图5-12所示.但是击碎的前提是,玩家身上必须携带有"锤子".也就是说系统会遍历玩家身上所有的资源,如果有锤

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

关于for 循环里 线程执行顺序问题

最近在做项目时遇到了 这样的需求 要在一个for循环里执行下载的操作, 而且要等 下载完每个 再去接着走循环.上网查了一些 觉得说的不是很明确.现在把我用到的代码 贴上 希望可以帮到有此需求的开发者        private Handler mHandler = new Handler() {               public void handleMessage(android.os.Message msg) {                       switch (msg.

循环队列——队列的顺序表示和实现

參考书目:<数据结构(C语言版)>,严蔚敏 怎样将<数据结构>中的知识应用到如今的工作中呢(单片机C编程.数字信号处理算法),希望在这里可以得到各位的指点.这个程序是我自己用循环队列实现了一个简单的应用模型(得益于一位童鞋的启示).这里高手如云,希望可以得到很多其它的指点啊! common.h #ifndef _COMMON_H_ #define _COMMON_H_ #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR

C语言优化实例:循环中减少判断

为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式.还是这个例子: for (int i = 0; i < 1000*10; i++) { sum += data[i/1000][i%10]; } 假如我们需要加一个判断,只有非负整数才需要作求和运算: for (int i = 0; i < 1000*10; i++) { if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10]; } 下面将这个判断

C语言循环中减少判断——————【Badboy】

为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式.还是这个例子: for (int i = 0; i < 1000*10; i++) { sum += data[i/1000][i%10]; } 假如我们需要加一个判断,只有非负整数才需要作求和运算: for (int i = 0; i < 1000*10; i++) { if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10]; } 下面将这个判断

Swift流程控制之循环语句和判断语句详解

Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代码的另一个点上. 除了C语言传统的for-condition-increment循环,Swift加入了for-in循环,能更加容易的遍历arrays, dictionaries, ranges, strings等其他序列类型. Swift的switch语句也比C语言的要强大很多. Swift中swi

Java 控制语句:循环、条件判断

程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑我们需要避免,以及一些常见的规范我们是否遵守了呢,我们来简单复习一下. 控制语句包含: 1.分支语句:if和switch 2.循环语句:while.for.do-while(使用较少),(在c#中还有一种语法糖foreach.linq的each等,这里不比较c#) 3.跳转语句:break.continue.return和throw 看到这些控制语句,这是

python(一):输入,输出,字符串,数值,格式化,循环,if判断语句,列表

python: 1.输出print(): 每学一门语言,每个老师教的第一行代码就是,print(“Hello,world!”),这就是输出,也许是表达了我们对这个世界的友好态度 要想输出的两个变量现实在同一行上用print(A,B) 补充:print(‘\n’)是输出空白行 2.字符串: print(“Hello world!”),输出的就是字符串,字符串用单引号或者双引号或者三引号括起来的:为什么会有三个引号的用法呢? 3. 数值:有整数:24,36:有小数23.6,不用加引号,直接输出数值,