计算机程序在解决某个具体问题时,包括三种情形,即顺序执行全部的语句、选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的 三种程序执行结构流程:顺序结构、选择结构和循环结构。python
事实证实,任何一个能用计算机解决的问题,只要应用这三种基本结构来写出的程序都能解决。Python语言固然也具备这三种基本结构linux
一、IF 选择结构语句express
{windows
简单分支语句数组
if 判断条件:app
执行语句1……less
else:ide
执行语句2……函数
此时,条件1成立时执行语句1,;条件2成立时执行语句2ui
name = 'luren'
if name == 'python': # 判断变量否为'python' | name == 'python' ### 字符串的比较
print 'welcome boss' # 并输出欢迎信息
else:
print name # 条件不成立时输出变量名称
多个分支结构:
if 判断条件:
执行语句1……
elif:
执行语句2……
else:
执行语句3……
此时,条件1成立时执行语句1,;条件2成立时执行语句2;条件1和条件2都不成立时执行语句3
x = int(raw_input("请输入您的总分:"))
if x >= 90:
print('优')
elif x>=80:
print('良')
elif x >= 70:
print('中')
elif x >= 60:
print('合格')
else:
print('不合格')
if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print 'hello'
>>> hello # 输出结果
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
>>> undefine # 输出结果
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
嵌套条件语句
if<条件>:
if<条件>:
<语句1>
elif<条件>:
<语句2>:
else:
<语句3>
编写条件语句时,应该尽可能避免使用嵌套语句。嵌套语句不便于阅读,并且可能会忽略一些可能性。
}
二、while 循环语句
{
在给定的判断条件为 true 时执行循环体,不然退出循环体
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
循环使用 else 语句
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
while True:
xxxx
嵌套循环 你能够在while循环体中嵌套for/while循环
while expression:
while expression:
statement(s)
statement(s)
i = 2
while(i < 100):
j = 2
while(j <= (i/j)):
if not(i%j): break
j = j + 1
if (j > i/j) : print i, " 是素数"
i = i + 1
print "Good bye!"
}
三、for 循环语句
{
python 中 for 语句结构是在一个序列上遍历
words = ['cat', 'windows', 'linux']
for w in words:
print w, len(w)
重复执行语句
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]
print "Good bye!"
循环使用 else 语句 , else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 肯定第一个因子
j=num/i # 计算第二个因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出当前循环
else: # 循环的 else 部分
print num, '是一个质数'
}
四、enumrate
{
使用内置 enumerate 函数进行遍历:
for index, item in enumerate(sequence):
process(index, item)
>>> sequence = [12, 34, 34, 23, 45, 76, 89]
>>> for i, j in enumerate(sequence):
... print i,j
...
0 12
1 34
2 34
3 23
4 45
5 76
6 89
}
五、三元运算符
{
if语句能够使用在一个单语句中,实现三元运算符,基本形式:<表达式1> if <条件> else <表达式2>
}
六、循环控制语句
{
break 语句 在语句块执行过程当中终止循环,而且跳出整个循环
continue 语句 在语句块执行过程当中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句 pass是空语句,是为了保持程序结构的完整性,用于须要一个语句以符合语法,但又什么都不须要作时, 也能够用于写一个空函数
>>> for n in range (2,10):
... for x in range (2,n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
}
break 和 continue 语句,循环时使用else,else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句
>>> for n in range (2,10):
... for x in range (2,n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
break 和 continue 语句,循环时使用else, else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句
>>> for n in range (2,10):
... for x in range (2,n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
}
七、xrange,range
{
若是须要迭代一个数字序列的话,能够使用range()函数,range()函数能够生成等差级数,
for语句的循环对象能够是列表、元组以及字符串,能够经过range()函数产生一个迭代值,以完成计数循环
>>> range (5)
[0, 1, 2, 3, 4]
>>> range (2,5)
[2, 3, 4]
>>> range (5,10,1)
[5, 6, 7, 8, 9]
>>> range (5,10,2)
[5, 7, 9]
>>> range (5,10,3)
[5, 8]
xrange生成的不是一个数组,而是一个生成器
>>> xrange(5)
xrange(5)
>>> list(xrange(5))
[0, 1, 2, 3, 4]
>>> xrange(1,5)
xrange(1, 5)
>>> list(xrange(1,5))
[1, 2, 3, 4]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]
for语句使用range()函数能够构建基于已知循环次数的循环程序,也能够以range()生成的数字做为索引来访问列表、元组、字符串中的值。
须要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并非,range()函数并非在调用时一次生成整个序列,而是遍历一次才产生一个值,以减小内存的占用,其本质是一个迭代器。
}