if
python中,如果是’ ',None,0,False都是False 有值就为真,无值就为假
注意注意input()输入的都是字符串
if-else
for
for 变量名 in 集合
语句
应用场景----可以反复猜大小,反复判断…
range
能产生一个整型的序列,左闭右开
range(stop)
range(start,stop[,step])
返回的不是列表,是可迭代对象
range(n)---->0~n-1
range(m,n)---->m~n-1
必须要打印完我们指定的范围才能继续往下面做事情
不加else表示不管你做不做我下面都要做,现在加上else就是要么做任务一要么做任务二(不是这个就是这个)
for else
使用场景:for执行完或者没有任何循环数据时,需要做的事情
一开始没有给馒头—饿了
馒头给完了–饿了
即循环有数据做for没数据做else
pass
里面有东西,但是里面的东西是空的
我写了一个结构,但是不确定里面写什么,可以先用pass
break强制退出循环,执行循环体的下一句
退出当前整个循环体(如果是for else/while else 会导致else语句也不执行)
之前说了else是表示循环次数没了就输出,次数我们就是想说登录次数没了我们就跟他说账户被锁定了,而在登陆成功时用break并不会使得循环次数变为0,因此永远不会让他执行else语句(break跳出for,然后再else时候判断当前是不是取得是空,是空则执行else—自己宗教)
实际上break是会跳出整个for else语句
跑步要跑5圈,跑完5圈领取奖品,跑一半突然有人跟你说别跑了break,这样你也领取不到奖品了
while
死循环
条件一直为真
1.变量一直不改
2.人为死循环 while True
例题:
#打印五层星星,第i层有i颗星星
i=1
while i<=5:
print('*'*i)
i+=1
print('方法二:')
n=1
while n<=5: #第i层有i颗星
count=1
while count<=n: #让星星的个数达到与当前层一样
print('*',end='')
count+=1
print()
n+=1
#打印99乘法表
#第i层有i个乘法
'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
1*9=9 2*9=18 3*9=27
'''
ceng = 1
while ceng<=9:
i=1
while i<=ceng:#计算当前层
print('{}*{}={} '.format(i,ceng,i*ceng),end='')
i+=1
#进行下一层
print()
ceng+=1
python特殊点
局部变量声明的出了函数仍然可以访问到,他没有作用域范围之说