Python | 基础入门篇Part02——判断语句、循环语句、函数初步

在这里插入图片描述

欢迎交流学习~~


专栏: Python学习笔记


Python学习系列:
Python | 基础入门篇Part01——注释、数据类型、运算符、字符串


五、判断语句

5.1 布尔类型和比较运算符

布尔类型
在前文的数据类型中,我们提到布尔类型 bool:表示逻辑,True 表示真,False 表示假;其本质为数字,True 记为 1False 记为 0

比较运算符
python 中,共有 6 种比较运算符:

  • ==,判断内容是否 相等,满足为 True,不满足为 False
  • !=,判断内容是否 不相等,满足为 True,不满足为 False
  • >,判断左边内容是否 大于 右边内容,满足为 True,不满足为 False
  • <,判断左边内容是否 小于 右边内容,满足为 True,不满足为 False
  • >=,判断左边内容是否 大于等于 右边内容,满足为 True,不满足为 False
  • <=,判断左边内容是否 小于等于 右边内容,满足为 True,不满足为 False

比较运算符的使用:

print(10==10)
print(10!=10)
print(10>5)
print(10<5)
print(10>=11)
print(10<=11)

输出:
在这里插入图片描述


5.2 if语句

python 中,判断语句通过 if 语句实现,其语法格式为:

if 要判断的条件:
	条件成立时,执行的语句

或者:

if 要判断的条件:
	条件成立时,执行的语句
else:
	条件不成立时,执行的语句

或者:

if 条件1:
	条件1成立时,执行的语句
elif 条件2:
	条件2成立时,执行的语句
else:
	条件12都不成立时,执行的语句

这里面要注意,在 ifelifelse 后面要跟上 :,判断语句的结果必须是 bool 类型
此外,要注意语句的缩进问题。

当然,判断语句可以有多层嵌套,我们用两层嵌套为例:

if 条件1:
	条件1成立时,执行的语句
	if 条件2:
		条件1和条件2都成立时,执行的语句
	else:
		条件1成立但条件2不成立时,执行的语句
else:
	条件1不成立时,执行的语句

接下来,我们用 2 个例子进行判断:
例1:

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('您已经成年。')
    if age < 30:
        print('但您还未满30岁。')
else:
    print('您还未成年。')

输出1:
在这里插入图片描述
输出2:
在这里插入图片描述


例2:

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('您已经成年。')
    if age < 30:
        print('但您还未满30岁。')
else:
    print('您还未成年。')

输出1:
在这里插入图片描述

输出2:
在这里插入图片描述
输出3:
在这里插入图片描述
输出4:
在这里插入图片描述

5.3 逻辑运算符

逻辑运算符主要用于对关系表达式进行逻辑运算,参与逻辑运算的各表达式的值应为 TrueFalse。如果不是,Python 会把 0 当成 False,把非 0 当成 True,然后再参与运算,同关系运算类似,逻辑运算的结果也是 TrueFalse

常见的逻辑运算符如下:

  • and
    • 比如:x and yxy 做逻辑 运算,当两者都为 True 时,结果为 True,否则为 False
  • or
    • 比如:x or yxy 做逻辑 运算,当两者都为 False 时,结果为 False,否则为 True
  • not
    • 比如:not x,对 x 做逻辑 运算,当 xFalse 时,结果为 True,否则为 False

例子:

x, y, z = 1, 2, 3

print('and:')
print(x < y and x < z)  # True and True
print(x < y and x > z)  # True and False
print(x > y and x > z)  # False and False
print()

print('or:')
print(x > y or x < z)   # True or False
print(x < y or x < z)   # True or True
print(x > y or x > z)   # False or False
print()

print('not:')
print(not x > y)        # not False
print(not x < y)        # not True

结果:
在这里插入图片描述

六、循环语句

python 的循环语句有 while 语句和 for 语句。
while 循环语句的循环条件是自定义的,自行控制循环条件;
for 循环是一种“轮询”机制,是对一批内容进行“逐个处理”。

6.1 while循环语句

while 语句的语法格式为:

while 条件:
	条件成立时,执行的语句

我们用一个例子说明:

i = 0
while i < 5:
    print('人生苦短,我学python')
    i += 1

输出:
在这里插入图片描述
while 语句也可以有多层嵌套,我们用两层嵌套举例:

i = 1
while i <= 3:
    print(f'今天是学习pthon的第{
      
      i}天')
    j = 1
    while j <= 2:
        print(f'第{
      
      i}天学习pthon的第{
      
      j}个小时')
        j += 1
    i += 1

输出:
在这里插入图片描述
接下来我们尝试用 while 语句实现九九乘法表的打印:

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f'{
      
      i}x{
      
      j}={
      
      i*j}', end=' ')
        j += 1
    i += 1
    print()	# 换行

这里 print() 中使用了参数 end= ' ',这使得打印完后不会换行,而是以 空格 结尾。

输出:
在这里插入图片描述

6.2 for循环语句

for 循环语句的格式为:

for 临时变量 in 序列类型(待处理数据集):
	循环满足条件时执行的代码

我们用一个例子说明:

s = 'string'
for i in s:
    print(i)

输出:
在这里插入图片描述
接下来我们用 for 语句实现对字符串的遍历,并统计其中字母 a 的数量:

s = 'dpsadijnaodnowhda'
count = 0
for i in s:
    if i == 'a':
        count += 1
print(f'这个字符串中字母a有{
      
      count}个')

输出:
在这里插入图片描述

range 函数
我们这里引入 range 函数,这是一个在 for 循环语句中非常重要的函数,range 函数会返回一个数字序列,其用法为:

  • range(end) :生成从 0end的数字序列,包括 0 但不包括 end
  • range(start, end):生成从 startend的数字序列,包括 start 但不包括 end
  • range(start, end, step):从 start 开始,每隔 step-1 个选一个数字,直到end,最终组成一个数字序列,包括 0 但不包括 end(默认 start=0

我们用例子来说明:

for i in range(5):
    print(i, end=' ')
print()
for i in range(5, 10):
    print(i, end=' ')
print()
for i in range(0, 10, 2):
    print(i, end=' ')

输出:
在这里插入图片描述
接下来我们用 for 语句输出九九乘法表:

for i in range(1, 10):
    for j in range(1, i+1):
        print(f'{
      
      i}x{
      
      j}={
      
      i*j}', end=' ')
    print()

输出:
在这里插入图片描述

continuebreak 语句
在循环语句中,会出现一些情况让我们必须:

  • 暂时跳过某次循环,直接进行下一次;
  • 提前退出循环,不再继续。

那么我们就可以用 continuebreak 语句对循环进行 临时跳过直接结束
continue 语句 :
continue 语句作用:中断本次循环,直接进入下一次循环,比如:

for i in range(10):
	语句1
	continue
	语句2

此时循环执行到 continue 就会中断并开启下一次循环,这样 语句2 是不会执行的。
我们用一个实例说明:

for i in range(2):
    print('语句01')
    for j in range(2):
        print('语句02')
        continue
        print('语句03')
    print('语句04')

输出:
在这里插入图片描述

break 语句 :
break 语句作用:结束循环,比如:

for i in range(10):
	语句1
	break
	语句2

此时循环执行到 break 就会结束循环,这样 语句2 是不会执行的,而 语句1 也只会执行 1 次。
我们用一个实例说明:

for i in range(2):
    print('语句01')
    for j in range(2):
        print('语句02')
        break
        print('语句03')
    print('语句04')

输出:
在这里插入图片描述

6.3 循环语句应用

题目描述:
某公司的账户有 10000 元,给 10 名员工发福利,每人发 2000 元。
员工编号从 1 到 10,员工的绩效从 1 到 5 随机生成,如果低于 3,则不发福利,下一位。
当福利发完了就结束发工资。

代码实现:

import random       # 导入random库,用于生成绩效
money = 10000
for i in range(1, 11):
    score = random.randint(1, 6)
    # random.randint(start, end)
    # 随机生成从start到end的一个整数,包括start,但不包括end
    if money > 0:
        if score < 3:
            print(f'员工{
      
      i}号,绩效为{
      
      score}分,不发福利,下一位。')
            continue
        else:
            money -= 2000
            print(f'员工{
      
      i}号,绩效为{
      
      score}分,发福利,账户余额为{
      
      money}元')
    else:
        print('账户余额为0,福利发放停止')
        break

输出:
在这里插入图片描述

七、函数初步

7.1 自定义函数

函数是组织好的,可重复使用的,用来实现特定功能的代码段。

定义函数的格式如下:

def 函数名(参数):
	函数体
	return 返回值

其中参数可以为空;也可以没有 return 返回值
调用时,只需 函数名(参数) 即可。

我们以自定义函数实现两数相加,并调用为例:

def add(a, b):
    result = a + b
    print(f'{
      
      a}+{
      
      b}={
      
      result}')

# 调用函数
add(2, 3)

输出:
在这里插入图片描述

7.2 函数的传入参数

  • 函数的传入参数作用:在函数运行的时候,接受外部传入的数据;
  • 函数定义中的参数,称为 形式参数
  • 函数调用中的参数,称为 实际参数
  • 函数的参数数量不限,使用逗号隔开;
  • 传入参数时,要和形式参数一一对应,逗号隔开。

7.3 函数的返回值和None

在自定义函数中,我们有 return 语句,这使得自定义函数有返回值,比如:

def add(a, b):
	result = a + b
	return result

s = add(2, 3)
print(s)

在这里插入图片描述
而当函数没有 return 语句时,此时函数也会有返回值,只不过此时会返回 None,比如:

def add(a, b):
    result = a + b
    print(f'{
      
      a}+{
      
      b}={
      
      result}')

print(add(2, 3))

在这里插入图片描述
此外,None 还可以用于条件判断,此时它和 False 等价:

def add(a, b):
    result = a + b
    print(f'{
      
      a}+{
      
      b}={
      
      result}')

if not add(1, 2):
    print('该函数返回值为None')

在这里插入图片描述

7.4 函数的说明文档

我们可以给函数添加说明文档,辅助理解函数的作用,具体用法为:

def func(x, y):
	"""
	功能描述
	:param x: 解释参数x
	:param y: 解释参数y
	:return: 解释返回值
	"""
	函数体
	return 返回值

我们用一个例子来体验一下:

def add(a, b):
    """
    实现两个数相加,并打印结果
    :param a: 一个数
    :param b: 另一个数
    :return: None
    """
    result = a + b
    print(f'{
      
      a}+{
      
      b}={
      
      result}')

7.5 函数的嵌套调用

函数的嵌套调用是指在一个函数中调用了其他函数,我们用一个例子来说明:

def func01():
    print('调用了函数func01')

def func02():
    func01()
    print('调用了函数func02')

func02()	

在这里插入图片描述
这里我们调用了 func02,但在其函数体中,先调用了 func01,之后再调用其他语句。

7.6 变量的作用域

我们在定义函数时,经常会在其中定义一些变量,这些变量在函数范围外不能使用,这些变量被称为临时变量,比如:

f = 0
def func():
	f = 1 + 2
	print(f)
func()	
print(f)

在这里插入图片描述

程序输出结果为 30,结果不同,其原因就是:在 func() 函数中定义的 f,其作用域只限于函数中,而不能对函数外的 f 进行操作。

而如果我们此时想调用,只需在 f 前加上关键字 global ,将其声明为 全局变量,其作用域就扩大至全局范围内,函数内就可以对这个数进行操作:

f = 0
def func():
	global f
	f = 1 + 2
	print(f)
func()
print(f)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_60090693/article/details/129846949