1.if
if主要用于条件判断。
1.1 if结构
1 | i = 1 |
1.2 if-elif-else 结构
1 | <pre name="code" class="python">a = input("a:") #这条语句的作用是在屏幕显示“a:”,并等待用户输值赋给a。 |
这里有三个块,分别属于if, elif, else引领。Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。
1.3 if的嵌套使用
1 | a = input("a:") |
2.while
给出一个while循环终止条件。 下例循环打印1到1001
2
3
4
5
6a=0
while a<100:
a+=1 #Python没有i++的写法
print(a)
else:
print("循环结束")
3.for
for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。1
2
3
4
5student2=["王尼玛","男",22,["脑袋大","脖子短","屁股圆"]]
for a in student2:
#循环次数为列表student2中元素的个数。 注意末尾的引号
print(a)
#循环结构同样需要缩进 因为迭代(也就是循环)某范围的数字非常常见,所以有个内建的范围函数提供使用——range()
1 | list(range(10)) #建立一个从0到9的列表(range()生成的是iterator对象。list()的作用是转换成列表) |
我们可以这样使用range()函数
1 | for a in range(1,101): #对while中的事例进行改造,打印1到100的数字 |
1 | list(range(1,100,3)) #生成从1到100间的数,步长为3 |
1 | list(range(99,1,-3)) #1到100间的数字,逆向排列 |
轻量级循环
1 | [x*x for x in range(10)] #生成一个简单的 |
enumerate()函数
利用enumerate()函数,可以在每次循环中同时得到下标和元素:1
2
3
4
5S = 'abcdefghijk'
for (index,char) in enumerate(S):
print(index)
print(char)
zip()
如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:1
2
3
4
5ta = [1,2,3]
tb = [9,8,7]
tc = ['a','b','c']
for (a,b,c) in zip(ta,tb,tc):
print(a,b,c)
输出1
2
31 9 a
2 8 b
3 7 c
1 | a=["lucy","lily","tom"] |
输出1
[('lucy', 11), ('lily', 12), ('tom', 13)]
4.中断循环
break——跳出循环
continue——跳出本次命令的之行,继续下一次循环
1 | nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"] |
输出为王尼玛1
2
3
4
5
6nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"]
for name in nameList:
if name=="王尼玛":
print("凶手找到啦!")
continue
print(name)
输出为李磊
5.注意
- 1.Python的缩进
空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。 你需要记住的一样东西是错误的缩进会引发错误。
2.if格式
1
2
3
4
5
6
7
8if <条件1>:
statement
elif <条件2>:
statement
elif <条件3>:
statement
else:
statement3.while格式
1
2
3
4while<条件>:
statement
else:
statement4.for格式
for 变量 in <对象集合>:
5.Python与其他语言的不同
Python的while可以写else!