条件语句(判断语句):
应用场景:
1、用户名和密码登录
2、用户登陆验证(例:买淘宝商品,判断用户是否登陆了,没有登陆会弹出未登录的窗口)
if 条件:条件成立执行的语句(如果条件运算结果是Ture,则进入内容)
我们发现,没有进入内容,直接输出了第二个语句。
注意:
这个地方必须是缩进位置,用一个tab键来缩进(如果if里的条件为真,就执行这行的print里面的语句)
再来看一个演示:
这里 if 条件为真,所以执行if下面的print里面的语句。
python里面有一个规定:
判断的变量是’ ’ 、 0 、 None 默认是False
例:
此时0是False,就不会执行print里的语句。
那假如num的值是9:
此时就会执行了。
假如我在用户名那一项不输入内容:
此时用户名那里是空字符串,为False。Ture and False为False。所以不执行 if 下面的 print 里面的语句。
假如我这样输入,那么if里的条件为真,就会执行 if 后面的 print 里面的内容了。
缩进就是前面提到的,if下一行里的print前面就是缩进的位置,用一个tab键缩进。
下面是一个有趣的游戏充值例子:
if 语句允许嵌套,但是要注意缩进问题。
让我们来执行几次:
这样每次输出的数字都是随机的。
下面我们玩一个猜奖游戏:
哎,这个奖中的真不容易。
这就是输入的数字与随机数进行比较,如果一致就会中奖,不一致就没有中奖。
依次输入“87”、“98”、“21”、“65”、“77”这五个数:
这就是 if 的多层条件判断语句。
range 为循环的意思
假如我想要打印三次“hello”
打印20次也是可以的。
这简单的两行就可以循环多次。range里面还可以放两个数或三个数。
range表示的范围:
range(n) ------> 0~n-1
range(m,n) --------> m~ n-1
range(m,n,step) -------->m~ n-1 step为步长
例:
下面是一个循环吃馒头的例子:
这里我们让 i +1目的是为了让它从1开始循环。
还有一种方式来表达:
假如张无忌在吃馒头,第三个馒头里有毒,我们想让他跳过这个馒头别吃,该怎么办呢?
我们发现,此时没有跳过第三个馒头,虽然说了有剧毒,但他还是吃了。其实我们只需要加一个else就可以跳过第三个馒头了。
像这样,张无忌没有吃第三个馒头,他吃饱啦而不是中毒身亡了。
只要 for 循环的序列里面变成了空的,就会执行else。(相当于在for循环的最后加了一句话)
for + else 适用于for执行完成或者没有循环数据时,需要做的事情。
pass: 充当空语句,占位置,保证语句能够正常执行。
如果此位置没有pass,就会报错。
再如:
此时什么都没有,但也不会报错,但如果没有pass:
执行:
此时,就会报错。所以pass的作用就是充当空语句,占位置,保证语句能够正常执行。
break: 强制退出for循环结构,继续执行下方的代码。
先来看一个例子:
我们发现,不管登录成功还是没有成功,都有三次机会。假如我们想要登录成功后就结束,就需要用到break。
我们加入一个break:
此时成功登录了之后就直接结束,不会再循环第三次了。
但此时这个代码还存在一些问题,你发现了吗?
假如我们这三次机会都错误了,结果却还是购物愉快。那么如何解决此问题呢?
像这样就可以了。
条件成立:再次进入循环体;
条件不成立:结束循环结构。
死循环:
1、打印变量,变量还没有改变
2、while True: 避免条件不改变
两个死循环例子:
假如你就这样执行,你的电脑会一直持续不断的输出。
如果不让它是死循环:
下面我用几个练习来给大家演示:
print(*)*ceng
这是python所独有的,别的语言没有的方式。
方式2:(嵌套循环while里面再嵌套一个while)
这种方式的代码虽然简洁,但是非常考验逻辑。
#掷骰子
#1、欢迎进入xxx游戏
#2、输入用户名,默认用户是没有币
#3、提示用户充值买币(100元30个币,充值必须是100的倍数,充值不成功可以再次充值)
#4、玩一局游戏扣除2个币,猜大小(系统用随机数模拟骰子产生值)
#5、只要猜对了奖励1个币,可以继续玩(也可以选择退出,没有金币自动退出)
print('*'*30)
print('欢迎进入澳门赌场')
print('*'*30)
username =input('请输入用户名:')
money = 0
answer = input('确定进入游戏吗(y/n)?')
if answer=='y':
#判断游戏币是否充足
#做到反复充值
while money<2:
n =int(input('金币不足,请充值(100元30币,充值必须是100的倍数):'))
#充值金额判断
if n%100==0 and n>0:
money=(n//100)*30
print('当前剩余游戏币是:{},玩一局游戏扣除2个币'.format(money))
print('进入游戏.......')
while True:
#模拟骰子 产生骰子的值
import random
t1 = random.randint(1,6)
t2 = random.randint(1,6)
#两个骰子的值大于6 ---->大,否则就是小
money-=2 #扣除金币
print('系统洗牌完毕,请猜大小:')
guess = input('输入大或者输入小:')
#判断:
if ((t1+t2)>6 and guess=='大') or ((t1+t2)<6 and guess=='小'):
print('恭喜{}!本局游戏获得奖励1个游戏币!'.format(username))
money +=1
else:
print('很遗憾!本局游戏输了')
answer =input('是否继续再来一局游戏,要扣除2枚游戏币?(y/n)')
if answer!='y' or money <2:
print('退出游戏啦!!!')
break
跳过循环体中下方的语句不执行,继续执行下一次的循环。
例如:下面的两种方式意义一样。
生活就像海洋,只有意志坚强的人,才能到达彼岸。铭记给我们生活带来日新月异变化的革命者,他们生在伟大的时代,有最坚强的意志。