while - 函数

while 循环

  • 一个循环语句
  • 表示到某个条件成立的时候,就循环
  • 不知道具体循环的次数,但能确定循环的成立条件的时候用while循环
  • while语法:

    while 条件表达式:
           语句块
    
       # 另外一种表达方法
     while 条件表达式:
            语句块1
     else:
            语句块2
    
In [4]:
 
​x
 
# 如果说年利率是6.7%,本利每年翻倍,则多少年后本钱会翻倍
benqian = 10000
year = 0
while benqian < 20000:
    benqian = benqian * (1+0.067)
    year += 1 # 指 year = year + 1
    print("第{0}年拿了{1}块钱".format(year, benqian))
第1年拿了10670.0块钱
第2年拿了11384.89块钱
第3年拿了12147.677629999998块钱
第4年拿了12961.572031209998块钱
第5年拿了13829.997357301068块钱
第6年拿了14756.607180240238块钱
第7年拿了15745.299861316334块钱
第8年拿了16800.23495202453块钱
第9年拿了17925.85069381017块钱
第10年拿了19126.88269029545块钱
第11年拿了20408.383830545245块钱
In [5]:
 
 
# 如果拿到的前翻倍,则用 print 语句庆祝一下
benqian = 10000
year = 0
while benqian < 20000:
    benqian = benqian * (1+0.067)
    year += 1 # 指 year = year + 1
    print("第{0}年拿了{1}块钱".format(year, benqian))
else:
    print("终于可以娶媳妇了")
    print("找媳妇去了")
第1年拿了10670.0块钱
第2年拿了11384.89块钱
第3年拿了12147.677629999998块钱
第4年拿了12961.572031209998块钱
第5年拿了13829.997357301068块钱
第6年拿了14756.607180240238块钱
第7年拿了15745.299861316334块钱
第8年拿了16800.23495202453块钱
第9年拿了17925.85069381017块钱
第10年拿了19126.88269029545块钱
第11年拿了20408.383830545245块钱
终于可以娶媳妇了
找媳妇去了
 
 
#  函数
 - 代码的一种组织形式
 - 一个函数一般完成一项特定的功能
 - 函数使用
    - 函数需要先定义
    - 使用函数 称为调用

函数

  • 代码的一种组织形式
  • 一个函数一般完成一项特定的功能
  • 函数使用
    • 函数需要先定义
    • 使用函数 称为调用
In [6]:
 
 
# 定义一个函数
# 如果只定义而不调用这个函数,函数是不会执行的
# 1.def 是个关键字,后面跟一个空格
# 2.函数名,自己定义,起名需遵循指令取名规则,约定俗称,大驼峰只给类用来命名
# 3.后面的括号和冒号不能省略,括号内可以有参数
# 4.函数内所有代码都得有缩进
def fun():
    print("函数")
    print("可以完成一个功能")
    print("再见")
In [9]:
 
 
# 函数的调用
# 直接用函数名和后面跟括号
fun()
函数
可以完成一个功能
再见
 
 
###  函数的参数和返回值
 - 参数:负责给函数传递一些必要的数据和信息
      — 形参(形式参数):在函数定义的时候用到的参数没有具体值,只是一个占位符,称之为形参
      - 实参(实际参数):在调用函数的输入的值
 - 返回值:函数的执行结果
       - 返回值使用 return 关键字来表明这函数
       - 如果没有 return 默认返会 None
       - 函数一旦执行 return 语句,则无条件返回,即结束函数执行

函数的参数和返回值

  • 参数:负责给函数传递一些必要的数据和信息 — 形参(形式参数):在函数定义的时候用到的参数没有具体值,只是一个占位符,称之为形参
    • 实参(实际参数):在调用函数的输入的值
  • 返回值:函数的执行结果
    - 返回值使用 return 关键字来表明这函数
    - 如果没有 return 默认返会 None
    - 函数一旦执行 return 语句,则无条件返回,即结束函数执行
    
In [11]:
 
 
# 参数的定义和使用
# 参数 person 只是一个符号,代表的是调用时的某一个数据
# 调用的时候,会用 a 代替函数中所有的 person
def hello(person):
    print("{0},你怎么了".format(person))
    print("sir,你不理我那我走了")
a = "ruirui"
hello(a)    
ruirui,你怎么了
sir,你不理我那我走了
In [15]:
 
 
# retuyn 语句基本使用
# 函数打完招呼后返回一句话
def hello(person):
    print("{0},你怎么了".format(person))
    print("sir,你不理我那我走了")

    return "我已经跟{0}打招呼了,{1}根本不理我".format(person,person)

a = "ruirui"
rst = hello(a)
print(rst)
ruirui,你怎么了
sir,你不理我那我走了
我已经跟ruirui打招呼了,ruirui根本不理我
In [17]:
 
 
# return 案例2
def hello(person):
    print("{0},你怎么了".format(person))
    return "哈哈,我不理你了"
    print("sir,你不理我那我走了")

    return "我已经跟{0}打招呼了,{1}根本不理我".format(person,person)
a = "ruirui"
rst = hello(a)
print(rst)
ruirui,你怎么了
哈哈,我不理你了
In [20]:
 
 
# 九九乘法表
# version 1,0
for row in range(1,10):
    # 打印一行
    print("{0}....a line".format(row))
1....a line
2....a line
3....a line
4....a line
5....a line
6....a line
7....a line
8....a line
9....a line
In [39]:
 
 
for row in range(1,10):
    for col in range(1,row+1):
        # print 函数默认任务打印完毕后执行换行
        print( row * col,end=" ")
    print("......")   
1 ......
2 4 ......
3 6 9 ......
4 8 12 16 ......
5 10 15 20 25 ......
6 12 18 24 30 36 ......
7 14 21 28 35 42 49 ......
8 16 24 32 40 48 56 64 ......
9 18 27 36 45 54 63 72 81 ......
In [24]:
 
 
# 查找函数帮助文档
# 1.用 help 加上函数名
help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

In [48]:
 
 
# 定义一个函数
def printis(row):
    for col in range(1, row+1):
        # print 函数默认任务打印完毕后执行换行
        print( row * col,end=" ")
    print(" ")  
    pass
In [49]:
 
 
# 九九乘法表
# version 2,0
for row in range(1,10):
    printis(row)
1  
2 4  
3 6 9  
4 8 12 16  
5 10 15 20 25  
6 12 18 24 30 36  
7 14 21 28 35 42 49  
8 16 24 32 40 48 56 64  
9 18 27 36 45 54 63 72 81  
 
 
### 参数详解
 - 【参考资料】(http://www.cnblogs.com/bingabcd/p/6671368.html)(博客园)
 - python 参考资料:headfirst python -->零基础入门学习python(小甲鱼写的)-->习题-->后期可以去看免费的公开课跟着练习
 - 参数分类
    - 普通参数
    - 默认参数
    - 关键参数
    - 收集参数
- 普通参数
  - (参见上面的例子)
  - 在定义的时候直接定义变量名
  - 调用的时候直接把变量或值放入指定位置
  
  
                 def 函数名 (参数1....参数2,.....):
                     函数体
                     
                  # 调用
                  函数名 (value1, value2.....)之会按位置调用
                  
                  # 调用的时候,具体值参考的时位置,按位置赋值
                  
  - 默认参数
      - 形参带有默认值
      - 调用的时候,如果没有对相应的参数值,则会使用默认参数值
      
      
            def funt name(p1=v1, p2=v2......):
                 funt_block
                 
               # 调用2
               valut1= 100
               valut2= 200
               funt_name(valut1,valut2)

参数详解

  • 参数分类
    • 普通参数
    • 默认参数
    • 关键参数
    • 收集参数
      • 普通参数
      • (参见上面的例子)
      • 在定义的时候直接定义变量名
      • 调用的时候直接把变量或值放入指定位置
             def 函数名 (参数1....参数2,.....):
                 函数体

              # 调用
              函数名 (value1, value2.....)之会按位置调用

              # 调用的时候,具体值参考的时位置,按位置赋值
  • 默认参数
    • 形参带有默认值
    • 调用的时候,如果没有对相应的参数值,则会使用默认参数值
        def funt name(p1=v1, p2=v2......):
             funt_block

           # 调用2
           valut1= 100
           valut2= 200
           funt_name(valut1,valut2)
In [55]:
 
 
# 默认参数示例
#报名参数,需知学生性别
#学习 python 的学院基本都是男的,所有,报名的的时候如果没有特殊指定,就默认是男的
def reg(name, age, gender="male"):
    if gender == "male":
       print("{0} is {1}, and he is a good student".format(name,age))
    else:
        print("{0} is {1}, and she is a good student".format(name,age))
In [56]:
 
 
# 调用默认参数值案例
reg("ruirui",21)
reg("ruiuri",21,"female")
ruirui is 21, and he is a good student
ruiuri is 21, and she is a good student
In [ ]:
 
 

posted on 2018-09-25 19:34  Nicktm  阅读(2849)  评论(0编辑  收藏  举报

导航