Python2——程序结构(条件、循环),函数

本文详细介绍了Python的程序结构,包括分支(双向分支、多路分支)、循环(for、while循环,以及continue、break、pass的使用)。此外,文章还深入探讨了函数的定义、参数和返回值,包括不同类型的参数(普通、默认、关键字、收集参数)以及函数的文档、变量作用域、递归和匿名函数(lambda)的应用。
摘要由CSDN通过智能技术生成

程序结构

  • 顺序
  • 分支
  • 循环

分支

  • 基本语法:
    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):
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值