Python-条件判断、while循环、for循环和列表生成式

一、条件判断

条件判断语句的形式为:

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...的简单形式。



原文地址:https://www.cnblogs.com/zhxwind/p/8617195.html