|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本次笔记重点分析了python语言和c语言不一样的分支和循环,对于我这种对c有深厚感情的人很是痛苦,分享给大家。
elif相当于c语言的else if ,python比较简洁。
有一伙人简单的算法,if else和单个if时间要节约更过的时间。
例如
if 100>= t >=90:
print(‘A’)
if 90> t >=80:
print(‘B’)
if 80> t >=70:
print(‘C’)
if 70>= t >=60:
print(‘D’)
和if else比较
if 100 >= 90 :
print('A')
elif 90 > t >= 80 :
print('B')
elif 80 > t >= 70 :
priint('C')
elif 70 > t >= 60 :
print('D')
这两种算法有天壤之别。第一个消耗的cpu时间比较长,用if else消耗的cpu时间比较少。
建议以后设计程序的时候多用if else。
悬挂else
就是else 和if不匹配。
例如:
if( hi > 2)
if(hi > 7)
printf("好棒啊!好棒啊!");
else
printf("切");
这个很容易以为else和第一个if匹配,但是,实际上else是和第二个if匹配的。因为else是和他最近的if匹配,并不是看和哪个if对齐。
python中else是看if 和else是否对齐,对不齐的 是没有else 。也就是说python只看对齐方式不看else里离他最近的if。这和c语言是有出入的。
条件表达式(三元操作符)
small = x if x < y else y
表示意思为 if x< y :
small = x
else :
small =y
我记得c语言也有一个三目运算符
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。[1]
<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
注意:在C语言中,结果1 和 结果2的类型必须一致。
断言
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
一般来说我们可以用TA再程序中设置检查点,当需要确保程序中的某个条件一定位真才能让程序正常工作的话,assert关键字就非常有用。
python的for循环
语法:
for 目标 in 表达式:
循环体
favourite = 'fishC'
for i in favourite:
print(i,end = ' ')
f i s h C
member = ['小甲鱼','小布丁','黑夜','米兔','已经']
for each in member:
print(each,len(each))
member = {'小甲鱼','小布丁','黑夜','米兔','已经'}
for each in member:
print(each,len(each))
发现一个问题就是,大括号和中括号都可以编译区别在于中括号按照顺序打印,大括号随机打印。
print() end = ‘ ’是加空格的,len()是计算字符串个数的。
range() for循环的小伙伴。
语法:range([strat,] stop[, step = 1])
这个BIF有三个参数,其中用中括号括起来的来的两个参数是可选的。
stop = 1 表示第三个参数的值是默认值是1
range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。
range()其中有三个参数(1,2,3)
参数1位开始数字,参数2位结束数字,结束时并不包括2参数,参数3位步进位数。
例如:
range(0,10,2)
打印出来的数字为 0 2 4 6 8
break continue这两个关键字
break是结束循环,continue是跳出本次循环。
|
评分
-
查看全部评分
|