新秀篇 ##python里的函数定义与循环语句##

Python中函数定义:

一.函数的概念:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用。

二.函数的作用:
在开发时,使用函数可以提高编写的效率以及代码的重用,需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易。

三.如何定义函数:
def 函数名 ( ):
函数封装的代码
1.def是英文define的缩写
2.函数名称应该能够表达函数封装代码的功能,方便后续的调用
3.函数名称的命名应该符合标识符的命名规则
可由字母,下划线和数字组成
不能以数字开头
不能与关键字重名

四.函数中的形参与实参:
参数的作用:
把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据
1.在函数内部,把参数当作变量使用,进行需要的数据处理
2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过
参数传递

形参和实参:
形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用
实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的

五.函数的返回值:
函数的返回值
在程序开发中,有时候,会希望一个函数执行结束后(举例子:温度计函数,要返回给我们当前的温度,告诉调用者一个结果,以便调用者针对具体的结果作出后续的处理,返回值是函数完成工作后,最后给调用者的一个结果,在函数中使用return关键字可以返回结果,调用函数一方,可以使用变量来接收函数的返回结果

六.全局变量与局部变量:
局部变量和全局变量:
局部变量是在函数内部定义的变量,只能在函数内部使用
全局变量是在函数外部定义的变量,(没有定义在某一个函数内),所有函数内部都可以使
用这个变量

局部变量:
局部变量是在函数内部定义的变量,只能在函数内部使用
函数执行结束后,函数内部的局部变量,会被系统回收
不同的函数,可以定义相同的名字的局部变量,但是各用各的不会产生影响

局部变量的作用:
在函数内部使用,临时保存函数内部需要使用的数据

七.函数的实验:
1.定义一个函数:

#  定义好一个函数之后,只是表示这个函数封装了一段代码
#  如果不主动调用函数,函数是不会主动执行的


def say_hello():
    print 'hello1'
    print 'hello2'
    print 'hello3'
#调用函数
say_hello()

这里写图片描述

2.定义一个实现两个数字求和函数:

#  能实现两个数字求和


def sum_sum():
    number1 = 10
    number2 = 20
    result = number1 + number2
    print '%d + %d = %d' % (number1,number2,result)
sum_sum()

这里写图片描述

3.形参和实参:

#  形参:定义函数时,小括号中的参数,是用来接收参数使用
#  在函数内部,是当作变量来用的


def sum_sum(num1,num2):
    """对两个数字求和"""
    result = num1 + num2
    print '%d+%d=%d' % (num1,num2,result)
#  实参:调用函数时使用的,小括号中的参数,是用来把数据传递到函数的内部
sum_sum(27,13)

这里写图片描述

4.函数的返回值:

#  返回值:是函数完成工作后,最后给调用者的一个结果,在函数中使用return关键字可以返回结果,调用函数一方,可以使用来接收函数的返回结果


def sum_2_sum(num1,num2):
    """对两个函数求和"""
    result = num1 + num2
    return result

sum_result = sum_2_sum(45,50)
print sum_result

这里写图片描述

**5.**return 表示返回,后续代码不会执行:

def sum_2_num(num1,num2):
    result = num1 + num2
    return result
    num = 1000
    print  num
sum_result = sum_2_num(30,30)
print sum_result
name = '234'

这里写图片描述

6 打印分割线:

#  1.定义一个函数打印一条分割线


def print_line():
    print '*' * 50

print_line()

# 2.定义一个函数打印由任意字符串组成的分割线
def print_line(char):
    print char * 50

print_line('#')

# 3.定义一个函数能够打印任意重复次数的分割线
def print_line(char,times):
    print char * times

print_line('$',40)

# 4.定义一个函数可以打印五行分割线,分割线要求符合要求3
#def print_line(char,times):
    #print char * times
def print_lines():
    row = 0
    while row < 5:
        print_line('%',50)
        row += 1

print_lines()

# 5.自己输入字符串与个数
#def print_line(char,times):
    #print char * times
def print_lines(char,times):
    row = 0
    while row < 5:
        print_line(char,times)
        row += 1

print_lines('^',50)

这里写图片描述

7.全局变量:

"""
全局变量
定义的全局变量在函数外定义
"""
num = 10
def demo1():
    #num = 99 #使用赋值语句,只是在函数内部定义一个变量与demo2没关系
    print 'demo1=====> %d' % num
def demo2():
    print 'demo2=====> %d' % num

demo1()
demo2()

这里写图片描述

8.局部变量:

"""
局部变量
不同的函数可以定义相同名字的局部变量,但不会产生影响
"""
def demo1():
    #定义一个局部变量
    num = 10
    print num
#def demo2():
    # demo1中定义的局部变量不能在其他函数中使用

demo1()
#demo2()

这里写图片描述

9.修改全局变量的值:

"""
希望修改全局变量的值,使用global关键字,声明一下变量即可
global 关键字会告诉解释器后面是一个全局变量
再用赋值语句时 就不会创建局部变量


"""
num =10
def demo1():
    global num
    num = 99
    print 'demol======> %d' % num
def demo2():
    print 'demo2======> %d' % num

demo1()
demo2()

这里写图片描述

Python中的循环语句:

一.if判断语句:
1.判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆
板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支

2. if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
在 python 开发中,Tab 和空格不要混用

3.判断语句演练:
需求:
1.定义一个整数变量
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧

#  1.定义一个整数变量
age = 18
#  2.判断是否18岁
if age >= 18:
#  3.如果18岁,欢迎进入网吧
    print '欢迎进入网吧'

这里写图片描述

4. else:
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
……
else:条件不成立时,要做的事情
……
if 和 else 语句以及各自的缩进部分是一个完整的代码块
示例:
需求
1.输入用户年龄
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
4.如果未满 18 岁,提示回家写作业

age = int(raw_input('请输入你的年龄:'))
#  1.判断年龄是否为18岁
if age >= 18:
#  2.如果满18岁,允许进入网吧
    print '欢迎进入网吧'
#  3.如果不满18岁,请回家写作业
else:
    print '请回家写作业'

这里写图片描述

5.逻辑运算:
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种

and:
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False

or:
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False

not:
对一个条件取反:not 条件

逻辑运算演练:
1.练习:定义一个整数变量 age,编写代码判断年龄是否正确要求人的年龄在 0~120 之间
2.练习:定义两个整数变量 python_score,c_score,编写代码判断成绩
3.练习:定义一个布尔型变量 is_employee,编写代码判断是否是本公司员工
如果不是提示不允许入内

#  1.定义一个整数变量,要求年龄在0~120岁之间
age = int(raw_input('请输入你的年龄:'))
if age >= 0 and age <= 120:
        print '年龄符合要求'
else:
        print '年龄不符合要求'

#  2.定义两个整数变量记录成绩,只要有一门成绩>60,就算考试合格
python_score = int(raw_input('请输入python成绩:'))
linux_score = int(raw_input('请输入linux成绩:'))
if python_score > 60 or linux_score > 60:
    print '恭喜你,考试通过!'
else :
    print '请继续努力!'

#  3.定义一个布尔型变量,判断是否为本公司员工
is_employee = False
if not is_employee:
    print '非本公司员工,请离开!!!'

这里写图片描述

6. elif:
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条加不同,需要执行的代码也不同,就可以使用

elif语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码

注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
elif 演练—女盆友的节日

需求:
1.定义 holidy_name 字符串变量记录节目名称
2.如果是情人节应该 买玫瑰/看电影
3.如果是平安夜应该 买苹果/吃大餐
4.如果是生日 应该 买蛋糕
5.其他的日子每天都是节日

#  定义holiday_name字符串变量记录节日的名称
holiday_name = str(raw_input('请输入节日名称:'))

if holiday_name == '情人节':
    print '买玫瑰'
    print '看电影'
elif holiday_name == '平安夜':
    print '送口红'
    print '吃大餐'
elif holiday_name == '生日':
    print '买蛋糕'
    print '送口红 全套'
else:
    print '每一天都是节日'

这里写图片描述
这里写图片描述

7. if 的嵌套:
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅)
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别

语法格式:
if 条件 1:
条件 1 满足执行的代码
….
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
….
条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
….
条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
….

需求:
1.定义布尔型变量 has_ticket 表示是否有其票
2.定义整型变量ML_liquid表示液体毫升
3.首先检查是否有机票,如果有,才允许进行安检
4.安检时,需要检查液体毫升,判断是否超过 100ml
如果超过100ml,提示液体毫升数超过100毫升,超过限定数量,不允许登机.
如果不超过 100ml’,液体毫升数没超过100毫升,没超过限定数量,允许登机.
5.如果没有机票,不允许进门

#  1.定义布尔型变量has_ticket表示是否有机票
has_ticket = True
#  2.定义液体的量(毫升)
ML_liquid = int(raw_input('输入液体毫升数:'))
#  3.是否有机票,如果有,允许进入
if has_ticket:
    print '允许通过'
#  4.判断液体的量
    if ML_liquid >100:
        print '液体毫升数超过100毫升,超过限定数量,不允许登机. '
    else:
        print '液体毫升数没超过100毫升,没超过限定数量,允许登机. '
else:
    print '请先购票!'

这里写图片描述
这里写图片描述

8.综合应用–石头剪刀布
目标:
1.强化多个条件的逻辑运算
2.体会 import 导入模块(工具包)的使用
需求:1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头

import random
#  1.从控制台输入要出的拳:石头:1 剪刀:2 布:3
player = int(raw_input('输入你要出的拳:'))
#  2.电脑随机出拳
computer  = random.randint(1,3)
print '玩家选择的是 %d  电脑选择的是 %d' % (player,computer)
#  比较胜负:
if ((player == 1 and computer == 2) or
        (player == 2 and computer == 3) or
        (player == 3 and computer == 1)):
    print 'PLAYER WIN!!'
elif player == computer:
    print 'PLAY EVEN'
else:
    print 'COMPUTER WIN!'

这里写图片描述

二.while循环语句:
1. while 循环的基本使用:
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

2. hile 语句的基本语法:
初始条件设置 – 通常是重复执行的 计数器 (eg:i=1)
while 条件(判断 计数器 是否达到目标 目标次数):
条件满足时,做的事情 1
条件满足时,做的事情 2
条件满足时,做的事情 3
条件满足时,做的事情 4
………
处理条件(计数器 +1)
while 语句及缩进部分是一个完整的代码块

3. python 中的计数方法:
常见的计数方法有两种,可以分为
自然计数法(从 1 开始) – 更符合人类的习惯
程序计数法(从 0 开始) – 几乎所有的程序语言都选择从 0 开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环的
计数从 0 开始

4. 循环计算:
在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种情况:
1.在 while 上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量

需求:
计算 0~100 之间所有数字的累计求和的结果

#  计算0~100之间数字的求和
i = 0
result = 0
while i <= 100:
    print i
    result += i
    i += 1
print '0~100之间数字的求和结果是:%d' % result

这里写图片描述

需求进阶:
计算 0~100 之间所有偶数的累计求和

#  计算0~100之间偶数的求和
i = 0
result = 0
while i <= 100:
    print i
    result += i
    i += 2
print '0~100之间数字的求和结果是:%d' % result

这里写图片描述

**5.**break 和 continue:
break 和 continue 是专门在循环中使用的关
break 和 continue 只针对当前所在循环有效键字

break 某一条满足时,退出循环,不再执行后续重复的代码

i = 0
while i < 10:
    if i == 3:
        #  满足i=3条件时,退出循环
        #  不再执行后续重复的代码
        break
    print i
    i += 1
print 'over'

这里写图片描述

continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行

i = 0
while i < 10:
    i += 1
    if i == 3:
        #  满足i=3条件的时候,不执行后续重复的代码
        #  其他条件的代码都要执行
        continue
    print i

这里写图片描述

6. 实验练习:
打印出下图:
*
* *
* * *
* * * *
* * * * *

"""
row = 1   #  行
while row <= 5:
    col = 1   #  列
    while col <= row:
        col += 1
        print '*',    #  加 , 换行
    print ''
    row += 1

这里写图片描述

九九乘法表:

row = 1   #  行
while row <= 9:
    col = 1  #  列
    while col <= row:
        print '%d*%d=%d\t' % (row,col,row*col),     #  \t 垂直对齐
        col += 1
    print ''
    row += 1

这里写图片描述

猜你喜欢

转载自blog.csdn.net/china_zgd/article/details/81063421