栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础(二)——if 、while语句及函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础(二)——if 、while语句及函数

目录

程序的三大流程

一、判断语句if

01 if 语句语法格式

02 if-else语句语法格式

03 elif语句语法格式

04 if 的嵌套

综合应用——石头剪刀布

二、循环语句while

01 while语句语法格式

02 计算0~100之间所有偶数的累计求和结果

03 break 与 continue

04 while循环嵌套——九九乘法表

 三、函数

01函数的定义

02函数的调用

03函数的参数

04函数的返回值

05函数的嵌套调用

06使用模块中的函数

pyc文件(了解)


程序的三大流程

顺序——从上到下,顺序执行

分支——根据条件判断,决定执行代码的分支

循环——让特定代码重复执行

一、判断语句if

01 if 语句语法格式

        if    要判断的条件:

                条件成立时,要做的事情

#根据年龄判断是否成年
age =19
if age>=18:
    print("已成年")

02 if-else语句语法格式

        if    要判断的条件:

                条件成立时,要做的事情

       else:

                条件不成立时,要做的事情

#根据年龄判断是否成年
age =15
if age>=18:
    print("已成年")
else:
    print("未成年")

if 和 else 语句以及各自的缩进部分作为一个完整的代码块

03 elif语句语法格式
if 条件1:
    条件1成立时,执行的代码
elif 条件2:
    条件1成立时,执行的代码
elif 条件3:
    条件3成立时,执行的代码
……
else:
    以上条件都不满足时执行的代码

04 if 的嵌套

        在之前条件成立的执行语句中,再增加条件判断

"""
火车站安检
1.判断是否有车票——有则可以进站,无则不许进站
2.判断携带违禁物品数量——携带则不许上车,=0则安检通过
"""
has_ticket = True
dangerous_goods = 1
if has_ticket == True:
    print("检票通过,请过安检")
    #嵌套部分
    if dangerous_goods == 0:
        print("安检通过,请上车")
    else:
        print("携带危险物品,禁止上车")
else:
        print("您还未购买车票,请先购买车票再来检票")

综合应用——石头剪刀布

需求:

  1. 从控制台输入要出的拳——石头(1)、剪刀(2)、布(3)
  2. 电脑随机出拳
  3. 比较胜负
# 随机数的工具包
import random

player = int(input("请输入您要出的拳头:石头(1)、剪刀(2)、布(3)"))
# 调用随机数的工具包,限制随机数范围为1-3
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("玩家获胜")
elif player == computer:
    print("平局")
else:
    print("电脑获胜")

二、循环语句while

01 while语句语法格式

定义计数器的值

while 条件(判断计数器是否达到目标次数):

        条件满足时,执行的代码

        计数器=计数器+1

# 让helloworld循环输出三次
i = 0
while i < 3:
    print("helloworld")
    i = i + 1

        当while内部代码块未对计数器进行定义,计数器一直满足while循环条件时,代码会进入while死循环,需强行终止程序。

02 计算0~100之间所有偶数的累计求和结果
"""
编写循环,确认要计算的数字
添加结果变量,在循环内部处理计算结果
"""
result = 0
i = 0
while i <= 100:
    if i % 2 == 0:
        result += i
    i += 1
print("0~100之间所有偶数的累计求和结果为%d" % result)

03 break 与 continue
  • break——某一条件满足时,跳出整个循环
  • continue——某一条件满足时,不执行本次循环的后续代码。继续从循环的条件判断处运行

注意在使用continue关键字时,需要确定循环的计数是否修改,否则可能会出现死循环

# 输出10以内除5之外的所有数字
i = 0
while i <= 10:
    if i == 5:
        i += 1
        continue
    print(i)
    i += 1

04 while循环嵌套——九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("%d * %d = %d t" % (j, i, i * j), end="")
        j += 1
    print("")
    i += 1

运行结果如下:

 三、函数

        函数就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用。

        在开发程序时使用函数可以提高编码效率,以及实现代码的重用。

01函数的定义

def  函数名( ):

       函数封装的代码 

  • 函数名应该能够表达函数封装代码的功能,方便后续的调用
  • 函数名称的命名应该符合标识符的命名规则
  • 定义好的函数只表示函数封装了一段代码。如果不主动调用函数,函数是不会执行的。
  • 如果想要进入函数内部一步一步运行函数,需要在函数调用行设置断点,然后点击Step Into(F7)来执行函数。此时若使用Step Over(F8)会一步把函数运行完。

02函数的调用

        在函数所在文件调用函数,直接通过  函数名()  调用即可。

        注意:

  • 函数调用只能在函数定义之后,否则会报错。
  • 函数的注释方式见下面的代码,此时把光标放在函数调用处,可以看到注释。
def say_hi():
    """打招呼"""
    print("Hi!")


# 函数调用
say_hi()

03函数的参数

        函数的参数将需要处理的数据,在调用函数时,传递到函数内部

def  函数名 ( 参数1, 参数2,…… ):

       函数封装的代码 

函数名(变量或常量1, 变量或常量2,……)    #函数的调用

         以下代码实现通过调用sum_2_num()函数,对键盘输入的两个数求和。

def sum_2_num(num1, num2):
    """
    两个数的求和
    :param num1: 求和的第一个数字
    :param num2: 求和的第二个数字
    """
    result = num1 + num2
    print("%d + %d = %d" % (num1, num2, result ))


a = int(input("请输入数字1"))
b = int(input("请输入数字2"))
sum_2_num(a, b)
  • 形参:定义函数时,函数名后的参数,是用来接收参数的,在函数内部作为变量使用。如上例中的 num1 和 num2.
  • 实参:调用函数时,函数名后的参数,用来把数据传递到函数内部。如上例中的 a 和 b 。

        对于含有参数的函数注释方法:

        1. 将光标放在函数名处,附近会出现一个小,点击在选择框中选择Isert a documentation string stub选项。

         2. 点击后在出现的注释中补充函数和参数信息即可

04函数的返回值

        返回值时函数完成工作后,最后给调用者的一个结果。

        在函数中使用 return 关键字可以返回结果。在调用函数时,可以使用变量来接收函数返回的结果。

def sum_2_num(num1, num2):
    """两个数求和"""
    return num1 + num2


a = int(input("请输入数字1"))
b = int(input("请输入数字2"))
result = sum_2_num(a, b)
print("%d + %d = %d" % (a, b, result))

        注意:return表示返回,return之后的代码不会被执行

05函数的嵌套调用

需求一:定义一个能够打印任意重复次数的分割线

def print_line(char, times):
    print(char * times)

需求二:定义一个函数能够打印5行的分割线,且要求分割线符合需求一

        提示:针对中需求的变化,不要轻易修改之前已经完成的,能够正常执行的函数。可以调用函数进行实现。

def print_line(char, times):
    """输出指定次数的指定字符"""
    print(char * times)


def print_lines(char, times):
    """输出5行print_line()函数"""
    i = 0
    while i < 5:
        print_line(char, times)
        i += 1


print_lines("+", 50)


# 下一小节用到,本节无用
a = "helloworld"

        将本例中的函数中的print_lines("+", 50)行删去,保存代码为 打印分割线.py 文件。

06使用模块中的函数
  • 每一个扩展名为 .py 的源代码文件都是一个模块
  • 模块就好比是一个工具包,模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具。
  • 要想使用模块中的工具,需要用关键字 import 导入这个模块。导入之后使用 模块名.变量 和 模块名.函数 的方式使用模块中的变量或函数。

        新建源程序文件,调用 打印分割线.py 文件中的,print_line(char, times)函数,方法如下:

import 打印分隔线  # 导入模块

打印分隔线.print_line("-", 50)  # 调用模块中的函数
print(打印分隔线.a)  # 调用模块中的变量

 注意:

  • 在使用import关键字时,会先运行一遍模块。若模块中有print输出函数,则会先将模块中的结果输出。
  • 模块名也是标识符,

pyc文件(了解)

        浏览程序目录时会发现有一个__pycache__的文件夹,文件夹下有一个名为 打印分隔线.cpython-39.pyc 的文件。cpython-39 表示Python解释器的版本。pyc文件是python解释器将模块的源码转化为字节码形成的文件,目的是加快运行速度。

        Python 运行时,首先处理源代码,编译生成一个二进制字节码;然后对字节码进行处理,生成CPU能够识别的机器码。若你在运行程序之前修改了源代码,那么在运行时字节码将自动重新创建。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号