一、条件判断
条件判断语句的形式为:
if 判断条件:
执行语句
elif 判断条件:
执行语句
else:
执行语句
如果只有2种情况,可以没有elif,甚至可以没有else。python中,有冒号,一定有缩进。缩进是一个tab键或者4个英文空格。
举例:随机生成一个10以内的整数,输入一个数字和生成的整数相比较,提示输入大了、小了或者猜对了。
另外,如果判断条件为多个,可以用and或者or连接。
二、while循环
while循环必须要有一个计数器。满足循环条件即执行循环体,直到条件不满足,结束循环。while循环对应一个else的时候,循环在正常结束之后才会执行。
举例:随机生成一个数字,猜这个数字是多少。有三次机会,每次输入会提示猜大了、猜小了还是猜对了,超过次数提示“次数已经用完”。
解析:
(1)count即为一个计数器,每次循环需要加1。
count+=1,等同于count=count+1。同样的count*=3等同于count=count*3;对于/,%d等运算也一样。
(2)break:在循环里遇到break,立刻结束循环。不管循环次数有没有结束,都立即结束整个循环,执行下一步。
continue:在循环里遇到continue,立刻跳出本次循环,进行下次循环。
三、for循环
for循环不需要计数器。for循环的语法格式为:
for iterating_var in sequence:
statements(s)
比如,判断条件可以为for i in range(10),i 从0开始计数,每次循环自动加1,一直到9,即一共循环10次。
for n in range(10,20),n 从10开始计数,每次循环自动加1,一直到19,一共循环10次。
举例:仍然用刚刚while循环猜数字的例子。
四、列表生成式
先看下面的例子,生成100以内的奇数。
循环条件很容易看懂,就是从1开始,每隔2个取一个数,即i的值为1,3,5...,然后把i存放到list里,组成l。
如果把外面的大括号换成小括号,结果会有所不同,如下:
这样l是一个生成器,不是list。但是打印l中的元素,我们仍可以得到1-100的奇数。
list它是把所有元素都放在内存里面的,空间换时间。
生成器不会产生存所有数字的内存空间,而是根据生成规则,计算下一个数字,内存里只存放一个数字即可,CPU使用率高
五、三元表达式
三元表达式我们用下面的例子解释。
c=a if a>b else b
这个表达式的意思是,如果a>b,则c=a,否则c=b。可以理解成if...else...的简单形式。