循环与分支
今天学习了python的循环与分支,以及配套的几个小内容
1.首先是一个飞机大战小游戏的轮廓:
interval的设置是防止整个屏幕充满小飞机,因为while每次执行是非常快的,若每执行一次就诞生一个小飞机,屏幕会密密麻麻。
2.分支:
Python可以有效避免”悬挂else”,提高程序效率:
a.什么是”悬挂else”?
C语言里面:这里else其实是就近原则,所以else里其实是 2<hi<7
Python里面,else搭配的是第一个if,因为缩进;所以这里else为 hi<=2
b.三元操作符
#三元操作符 定义,判断
x,y=4,5
small=x if x<y else y
print(small)
条件表达式是python唯一一个三目(元)操作符
元/目:操作数个数
语法:
X if 条件满足 else Y
即 当条件满足时,结果为X,否则为Y
#定义一个判定是否字符串是否是数字的函数
def StrisnumJudge(value):
valueStr = str(value)
if valueStr.isdigit() is True:
# 仅仅针对整型
return True
else:
try:
#针对浮点型的尝试
float(valueStr)
except(ValueError):
return False
except(TypeError):
return False
else:
return True
UserIn=input("请输入一个分数:\n")
if StrisnumJudge(UserIn) is True:
score = float(UserIn)
if score < 0 or score > 100:
print("输入格式错误!\n")
elif score < 60:
print('D')
elif score < 80:
print('C')
elif score < 90:
print('B')
else:
print('A')
3.断言 assert
AssertionError可以被用户自己写程序捕获,后期会讲到
assert 4>3 #由于条件正确,正常执行程序
assert 3>4 #抛出AssertionError 异常,可以写程序捕获
4.for / 列表member[] / list/ range
· for
print('\n\n\n')
#打印出字符串每个字符,每次打印后加一个空格
favourite='zwh'
for i in favourite:
print(i, end=' ')
print('\n')
· 列表
#列表,类似于C的数组
member=['zwh','pig','yhr']
for i in member:
print(i,len(member),end='----\n')
#end为关键字,具体参照print 的reference
· list
print('\n')
#把生成的序列可以放在list里显示
print(list(range(0,6,2)))
print('\n')
· range
[]括起来的部分为可选的参数
生成的数字序列不包括stop本身!
Step为步进,每次增加多少
#把生成的序列可以放在for循环里显示
for each in range(0,9,3):
print(each,end=' ')
# 第一个参数start默认为0,可选;第二个stop 必选;第三个为step步进,可选
5.break / continue
Break:终止循环,退出循环
Continue:终止本轮循环,且continue后语句不会被执行
测试循环条件:
条件为真则继续下一轮循环
条件为假则退出循环
case 1: continue后语句不会被执行
for i in range(10):
if i%2!=0:
print(i)
continue
print('----')
break
i+=2
print(i)
#虽然这里i被改变,但是进入for语句时,i再次被改变为遍历range中的值
case 2: break终止循环
for i in range(10):
if i%2!=0:
print(i)
#continue
print('----')
break
i+=2
print(i)
#虽然这里i被改变,但是进入for语句时,i再次被改变为遍历range中的值