程序结构
- 顺序
- 分支
- 循环
分支
- 基本语法:
if 条件表达式:
语句1
语句2
语句3
…… - 条件表达式就是计算结果必须为布尔值的表达式
- 表达式后面的冒号不能少
- 注意if后面出现的语句,如果属于if语句块,则必须使用同一个缩进等级
- 条件表达式结果为True执行if后面的缩进语句块
#if语句练习
# 生成包含两个或者是三个汉字的人名
from random import choice,random
name = choice('赵钱孙李周吴郑王')
condition = random() #random()函数返回[0,1)区间上的随机数
if condition > 0.5:
name += choice('付玉延邵子凯')
name += choice('国楠陈涵雪玲瑞')
print(condition)
print(name)
双向分支
if…… else……语句
if 条件表达式:
语句1
语句2
……
else:
语句1
语句2
……
- 双向分支有两个分支,当程序执行到if……else……语句时,一定会执行其中一个,也仅执行一个
- 缩进问题,if和else同一个层级,其他语句一个层级
#语句练习
'''
input作用是:
1.在屏幕上输入括号内的字符串
2.接收用户输入的内容并返回到程序中
3.input返回的内容一定是字符串类型
'''
gender=input("请输入你的性别:")
print("你输入的性别是:{}".format(gender))
if gender=="男":
print("代码敲十遍")
else:
print("发糖喽")
print("开始今天的课程。")
运行结果:
请输入你的性别:男
你输入的性别是:男
代码敲十遍
开始今天的课程。
Process finished with exit code 0
多路分支
好多分支的情况,简称多路分支,语法如下:
if 条件表达式:
语句1
……
elif 条件表达式:
语句1
……
……
else:
语句1
……
(elif可以有很多个,else可以没有)
if语句其他:
- if可以嵌套,但是不推荐
- Python没有switch-case语句
循环语句
- 重复执行某些固定动作或者处理基本固定的事物
- 分类:for循环,while循环
for循环
语法:
for 变量 in 序列:
语句1
语句2
……
- for循环非常适合用来遍历容器类对象(list,tuple,dict,set,string以及map,zip等类似对象)中的元素
语法:
for 循环遍历 in 容器类对象:
循环体
else:
语句块
# 输入n个数,然后求出这n个数的平均数
n = eval(input('你想要输入几个数:'))
sum = 0
for i in range(n):
x = eval(input('输入你想输入的数字>>>'))
sum += x
print("你输入的{}个数的平均值为:".format(n),sum/n)
运行结果:
你想要输入几个数:4
输入你想输入的数字>>>5
输入你想输入的数字>>>15
输入你想输入的数字>>>85
输入你想输入的数字>>>66
你输入的4个数的平均值为: 42.75
Process finished with exit code 0
range介绍
- 生成一个数字序列
- 具体范围可以设定
- 注意,一般在Python中,如果有表示数字范围的两个数,一般是包含左边的数字而不包含右边的数字
- randint是特例,他左右数字都包含
for-else语句
- 当for循环结束时,执行else语句
- else语句是可选语句
for循环缺点
- 程序开始时必须提供输入数字的总数
- 大规模数字求平均值需要用户先数清楚个数
- for循环时需要提供固定循环次数的循环方式
while循环
- 一个循环语句
- 表示当某条件成立时,就循环
- 不知道具体循环次数,但知道循环成立的条件时用while循环
while语法(表示法1):
while 条件表达式:
语句块
#如果年利率是6.7%,本利是每年翻滚,则多少年以后会翻倍
benqian =100000
year =0
while benqian<200000:
benqian=benqian*(1+0.067)
year +=1
print("第{0}年拿了{1}钱".format(year,benqian))
运行结果:
第1年赚了106700.0钱
第2年赚了113848.9钱
第3年赚了121476.77629999998钱
第4年赚了129615.72031209998钱
第5年赚了138299.97357301068钱
第6年赚了147566.07180240238钱
第7年赚了157452.99861316333钱
第8年赚了168002.34952024528钱
第9年赚了179258.5069381017钱
第10年赚了191268.8269029545钱
第11年赚了204083.83830545243钱
Process finished with exit code 0
while语法(表示法2):
while 条件表达式:
语句块1
else:
语句块2
循环保留字continue,break,pass
- break:无条件结束整个循环,简称循环猝死
- continue:无条件结束本次循环,重新进入下一轮循环
- pass:表示略过,通常用于占位,没有跳过功能
#break语句练习(寻找数字7)
for i in range(1,11):
if i==7:
print('我找到了')
break
else:
print(i)
运行结果:
1
2
3
4
5
6
我找到了
Process finished with exit code 0
#continue语句练习(寻找所有偶数)
for i in range(1,11):
if i%2==1:
continue
print('{}是偶数'.format(i))
运行结果:
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
Process finished with exit code 0
函数
- 代码的一种组织形式
- 一个函数一般完成一项特定的功能
- 函数使用
- 函数需要先定义
- 使用函数,俗称调用
函数定义
def 函数名():
函数语句
return<返回值列表>
- 函数是一段具有特定功能的、可重用的语句组,通过函数名进行功能调用
- 函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执行,不需要每个地方都进行编写。
函数的参数和返回值
- 参数:负责给函数传递一些必要的数据和信息
- 形参(形式参数):在函数定义的时候用到的参数没有具体的值,只是一个占位的符号
- 实参(实际参数):在调用函数的时候输入的值
- 返回值:函数的执行结果
- 使用return关键字
- 如果没有return,默认返回一个None
- 函数一旦执行return语句,则无条件返回,即结束函数的执行
#参数的定义和使用
#参数person只是一个符号,代表的是调用的时候的某一个数据
#调用的时候,会用P的值代替函数中所有的person
def hello(person):