Python学习笔记 流程结构

137 阅读4分钟

选择结构

if结构

当只有一个选择是使用if结构,使用if语句,if语句如同我们口中的"如果...就..."

#if 条件表达式:
#	表达式_true_suite语句
if i=10:
    print('回答正确')#如果i=10输出回答正确

注意在一个程序内要统一使用tab或者空格缩进

if/else语句做双向判断

有两个选择的时候可以使用if/else语句,就如"如果...就...,否则..."

#if 条件表达式:
#	表达式_true_suite语句
#else:
#	表达式_false_suite语句
if i=10:
    print('回答正确')
else:
    print('回答错误')

X if C else Y

if/else语句还能以三元运算

X if C else Y
#Expr_true if 条件表达式 else Expr_false
'及格' if i>=60 else '不及格'

多重选择if/elif

学生成绩会按照不同分数分级,如果使用多个if语句嵌套会很复杂,所以要使用if/elif语句

if i>=90:
    print('A')
elif i>=80:
    print('B')
elif i>=60:
    print('C')
else:
    print('D')

循环语句

所谓循环是指根据条件运算反复执行循环体内的语句,只要进入循环就会再一次检查条件运算,只要符合条件就会继续执行,直到条件不符合才会退出循环

for循环

使用for/in循环必须在循环中加入计数器,用来控制循环执行的次数

for item in sequence/iterable:
	#for_suite
else:
	#else_suite

item:代表的是元组和列表的项目,通常指计数循环的计数器 sequence/iterable:序列值,可顺序重复的对象,可以搭配内置函数range()来使用 else和else_suit语句可以省略,加入此语句可以提示用户for循环已正常执行完毕 range语法如下

range([start],stop[,step])
#start:起始值,默认为0,可省略
#stop:停止条件,必要参数不可省略
#step:计数器的增减值,默认值为1

通常range()函数会和tuple(元组)和list(列表)数据一起使用

print(list(range(5)))#输出[0,1,2,3,4]
print(list(range(4,10)))#输出[4,5,6,7,8,9]
print(list(range(4,10,2)))#输出[4,6,8]

while循环

while循环会根据条件值不断地执行,直到条件值不符合为止,while不清楚循环的次数

while 条件表达式:
	#符合条件语句
else:
	不符合条件语句

注意while条件如果始终为真会进入死循环,需要设置退出条件

特殊流程控制语句

break语句

break语句用来终端循环的执行,退出循环

number=25
while True:
    guess=int(input('请输入1-100之间的数字'))
    if guess == number:
        print('你猜对了')
        break#用来退出循环

continue语句

continue语句用来跳过当前循环语句

#计算1-20之间的奇数和
sum = 0 #存储累加值
for count in range(0, 20):
   if count%2 == 0:             
      continue # 偶数的时候跳过
   else:
      sum += count
      print('计数器 ={0:2d}, 总和 = \
         {1:2d}'.format(count, sum))

嵌套

通常代码中不会只有一种流程控制,而回根据程序的复杂度加入不同的流程

嵌套if

嵌套if就是if里面还有if,不同的if语句不能交错,示例:

month = int(input('请输入1~12月份:'))
# 第一层 if/else语句 确认输入月份在 1~12之间
if month >= 1 and month <= 12:
   # 第二层 if/elif语句 
   if month == 4 or month == 6 or month == 9 \
         or month == 11:
      print('{0} 月有30天'.format(month))
   elif month == 2:
      print('{0} 月有28或29天'.format(month))
   else:
      print('{0} 月有31天'.format(month))
else:
   print('输入月份不对,请重新输入')

嵌套循环

嵌套循环就是在循环内还有循环,示例:

#用双层for/in循环产生九九表   
# 建立表头
print('  |', end = '')
for k in range(1, 10):
   print('{0:3d}'.format(k), end = '') #不自动换行,只留空格符
print()
print('-'*32)
# 第一层 for/in
for one in range(1, 10):
   print(one, '|', end = '')
      # 第二层 for/in
   for two in range(1, 10):      
      print('{0:3d}'.format(one*two), end = '')
   print() #换行

产生随机数的random模块

若要产生随机数,需要导入random模块

import random#导入random模块
random()#随机产生0~1之间的浮点数
randint(a,b)#产生a-b之间的随机整数
randrange(start,stop[,step])#根据指定的范围,按setp递增步长来获得一个随机数