——逻辑判断——
如果我们在用户交互页面输入了用户名和密码,我们想对其进行判断是否正确,如果用户名和密码正确,我们就显示“欢迎***登陆”,若是用户名或者密码错误,就显示“不正确的用户名或者密码”。
程序如下,用到了if else。注意:if 和 else 都要顶格,if和else进行条件判断之后,后面都要有冒号(:),下一行的结果要退格(原因:省掉了结束符,强制缩进,结构清晰)。
==是等于,=是赋值。

我们可以看到,用户名和密码都输入正确的情况:

用户名或者密码输入错误的情况:

上面是非此即彼的两种情况的例子,下面来举一个三种情况的例子。
现有这样的一个游戏,我们要猜ZD这个人的年龄,如果猜对了,就显示“你已经猜对了”,猜错的话就有两种情况,一种是猜小了,这时就显示“往大了想”,另外一种情况是猜大了,这时就显示“往小了想”。
程序如下,用到的逻辑判断为:if elif else。

默认input输入进来的类型为字符串类型,所以23加了“ ”。
猜对了的情况:

猜小了的情况:

猜大了的情况:

——while循环——
上面我们举的例子,只能有一次猜年龄的机会,那么,如果我想拥有三次猜测的机会,那应该怎么办呢?
这里就用到了循环的知识,先简单的看一下while循环。

while循环外对计数进行初始化,在循环内(一般为循环结束的时候)进行计数,跳出循环为break。这里注意True的首字母大写,while True后面有冒号(:)。
那么,猜三次的游戏怎么在猜一次的情况下进行修改得到呢?
首先要考虑,猜一次,然后进行一次逻辑判断给出结果,所以while True:应该加在从input得到猜测的年龄之前。
我们有三次猜的机会,在while循环外对count进行初始化,count=0,然后在循环里面(末尾)对count进行计数加一,count+=1,三次猜测的机会(0,1,2)也就是说当count==3的时候,要跳出循环,这里要在循环开始时进行一个逻辑判断,if count==3: break。
还应考虑到的一点是,当我们猜对了,要及时跳出循环,所以在猜对的情形下,要加上break。

猜对的情况下:

三次都猜错的情况:

对这个程序进一步优化,不一定是while True:

直接改成while count<3,直接对count进行判断,当count为0,1,2时走这个循环,当count等于3时,就不走这个循环了。
我们还想进一步对其进行完善,如果试了三次还是猜错了的话,我们就显示“你已经试了太多次了!”,这该这么操作?
可以在末尾加上一个条件判断,if count==3:,就显示“你已经试了太多次了!”

三次都猜错的情况:

这里说明一下第三次猜中的情况:

因为第三次是猜对的情况,所以count等于2时,就跳出循环了,这时没有再对count进行加一,所以此时的count等于2,所以不会打印“You have tried many times !”
还可以对这个程序进行进一步的改进,不用进行逻辑判断了,直接改成else:

这里意味着,当count等于0,1,2时,走while循环,当count=3时,走else语句。

网友评论