Python基础学习(四)程序控制结构

代码获取:https://github.com/qingxuly/hsp_python_course
完结版:Python基础学习完结版

程序控制结构

程序流程控制介绍

基本介绍
  1. 程序流程控制绝对程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
  2. 顺序控制、分支控制、循环控制。

顺序控制

基本介绍
  1. 顺序控制:程序从上到下逐行地执行,中间没有任何判断和跳转。
# 顺序控制
print("程序开始执行")
print("1.小明去上学")
print("2.小明学习中")
print("3.小明放学了")
print("策划给你续执行结束")

# Python中定义变量时采用合法的前向引用
num1 = 12
num2 = num1 + 2

分支控制 if-else

基本介绍
  1. 让程序有选择的执行,分支控制有三种:单分支、双分支、多分支。
单分支
  1. 基本语法:单分支是通过 if 语句来实现的,if 语句的基本语法如下:
if 条件表达式:
	代码块(可以有多条语句)
  1. if 基本语法说明:
  • 当条件表达式为 True 时,就会执行代码块;如果为 False,就不执行。
  • Python 缩进非常重要,是用于界定代码块的,相当于其他编程语言中的大括号{}。
  • 最短的缩进对较长的有包含关系,缩进前后没有要求,但是每个代码块应具有相同的缩进长度(TAB 或者相同个数的空格)。
  • 可以看成,和其它语言相比:其它语言的代码块是用{}表示的,Python 缩进就代替了{}。
# 单分支 if
if 4 < 1:
    print("ok1")
    print("ok2")
print("ok3")

if 100 > 20:
    print("ok4")
    print("ok5")
    if 8 > 2:
        print("ok6")
  1. 练习
# 请编写一个程序,可以输入人的年龄,如果年龄大于等于18岁,则输出“你年龄大于等于18,要对自己的行为负责”
age = int(input("请输入你的年龄:"))
if age >= 18:
    print("你年龄大于等于18,要对自己的行为负责")
  1. 流程图

image-20240610114159798

双分支
  1. 基本语法
if 条件表达式:
	执行代码块1
else:
    执行代码块2
  1. 基本语法说明
  • if、else 是关键字,是规定好的。
  • 当条件表达式成立,即执行代码块 1,否则执行代码块 2,注意;不要少写了冒号:。
  1. 应用实例
# 请编写一个程序,可以输入人的年龄,如果年龄大于等于18岁,则输出“你年龄大于等于18,要对自己的行为负责”。否则,输出“你的年龄不大,这次放过你了”
age = int(input("请输入你的年龄:"))
if age >= 18:
    print("你年龄大于等于18,要对自己的行为负责")
else:
    print("你的年龄不大,这次放过你了")
  1. 流程图

image-20240610115003222

  1. 练习
# 对下列代码,若有输出,指出输出结果
x = 4
y = 1
if x > 2:
    if y > 2:
        print(x + y)
    print("hsp")
else:
    print("x is", x)
# 编写程序,定义2个整数变量并赋值,判断两数之和,如果大于等于50,打印“hello world”
num1 = 30
num2 = 20
if num1 + num2 >= 50:
    print("hello world")
# 编写程序,定义2个float型变量,若果第1个数大于10.0,且第2个数小于20.0,打印两数之和
num1 = 20.0
num2 = 15.0
if num1 > 10.0 and num2 < 20.0:
    print(f"{num1} + {num2} = {num1 + num2}")
# 定义两个变量int类型,判断二者之和,是否能被3又能被5整除,打印提示信息。
num1 = 10
num2 = 5
if (num1 + num2) % 3 == 0 and (num1 + num2) % 5 == 0:
    print(f"{num1 + num2} 可以被3又能被5整除")
else:
    print(f"{num1 + num2} 不可以被3又能被5整除")
# 判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除(2)能被400整除
year = 2024  
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(f"{year} 是闰年")
else:
    print(f"{year} 不是闰年")
多分支
  1. 基本语法
if 条件表达式1:
    执行代码块1
elif 条件表达式2:
    执行代码块2
...
else:
    执行代码块n+1
  1. 流程图

image-20240610133740836

  • 执行流程说明
    • 当条件表达式 1 成立时,即执行代码 1。如果表达式 1 不成立,才去判断表达式 2 是否成立。
    • 如果表达式 2 成立,就执行代码块 2。
    • 以此类推,如果所有的表达式都不成立则执行 else 的代码块。
    • 只能有一个执行入口。
  1. 案例演示
# 参加Python考试,根据得分获得对应奖励
score = int(input("请输入成绩[整数]:"))
if score >= 0 and score <= 100:
    if score == 100:
        print("BWM")
    elif score > 80 and score <= 99:
        print("iphone13")
    elif score >= 60 and score <= 80:
        print("ipad")
    else:
        print("none")
else:
    print(score, "不在0~100")
# 分析代码输出结果
b = True
if b == False:
    print("a")
elif b:
    print("b")
elif not b:
    print("c")
else:
    print("d")
  1. 练习
# 婚嫁
height = float(input("请输入身高(cm):"))
money = float(input("请输入财富(万):"))
handsome = (input("请输入颜值(帅,不帅):"))

if height > 180 and money > 1000 and handsome == "帅":
    print("我一定要嫁给他")
elif height > 180 or money > 1000 or handsome == "帅":
    print("嫁吧,比上不足,比下有余")
else:
    print("不嫁")

嵌套分支

基本介绍
  1. 基本介绍
  • 嵌套分支:在一个分支结构中又嵌套了另一个分支结构。

  • 里面的分支的结构称为内层分支,外面的分支结构称为外层分支。

  • 规范:不要超过 3 层(可读性不好)

  1. 基本语法
if:
    if:
        # if-else...
    else:
        # if-else...
应用案例
# 参加歌手比赛,若果初赛成绩大于8.0进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断和输出信息。
score = float(input("请输入你的成绩:"))
if score > 8.0:
    gender = input("请输入你的性别(男|女):")
    if gender == "男":
        print("男子组决赛")
    else:
        print("女子组决赛")
else:
    print("淘汰")
# 出票系统:根据淡旺季的月份和年龄,打印票价
month = int(input("请输入当前的月份:"))
age = int(input("请输入你的年龄:"))

if 4 <= month <= 10:
    if age > 60:
        print("¥20")
    elif age >= 18:
        print("¥60")
    else:
        print("¥30")
else:
    if 18 <= age <= 60:
        print("¥60")
    else:
        print("¥20")

for 循环分支

基本介绍
  1. 基本介绍:for 循环听其名而知其意,就是让你的代码可以循环的执行,是通过 for 语句来实现的。

  2. 基本语法

for <变量> in <范围/序列>:
    <循环操作语句>
  1. for 基本语法说明
  • for、in 是关键字,是规定好的。
  • <范围/序列> 可以理解成要处理的数据集,需要是可迭代对象(比如字符串,列表等…)。
  • 循环操作语句,这里可以有多条语句,也就是我们要循环执行的代码,也叫循环体。
  • python 的 for 循环是一种“轮询机制”,是对指定的数据集,进行“轮询处理”。
for 循环执行流程分析
  1. 代码演示
# 编写一个程序,可以打印5句 “hsp” 。
# 定义一个列表(后面详细介绍),可以视为一个数据集
nums = [1, 2, 3, 4, 5]
print(nums, type(nums))

for i in [1, 2, 3, 4, 5]:
    print("hsp", i)

for i in nums:
    print("hsp", i)
  1. for 循环控制流程图

image-20240610143507571

  1. 代码执行内存分析法

image-20240610144559091

注意实现和细节说明
  1. 循环时,依次将序列中的值取出赋给变量。
  2. 如需要遍历数字序列,可以使用内置 range()函数,它会生成数列。range()生成的数列是前闭后开。
# range函数解读
class range(stop)
class range(start, stop, step=1)
# 1、虽然被称为函数,但 range 实际上是一个不可变的序列类型。
# 2、range 默认增加的步长 step是1,也可以指定,start 默认是0。
# 3、通过list() 可以查看range() 生成的序列包含的数据。
# 4、range() 生成的数列是前闭后开。
# 1、生成一个 [1, 2, 3, 4, 5]
r1 = range(1, 6, 1)
r1 = range(1, 6)
print("r1 = ", list(r1))

# 2、生成一个 [0, 1, 2, 3, 4, 5]
r2 = range(0, 6, 1)
r2 = range(0, 6)
print("r2 = ", list(r2))

# 3、生成一个 r3 =  [1, 3, 5, 7, 9]
r3 = range(1, 10, 2)
print("r3 = ", list(r3))

# 4、输出10句"hello, python"
for i in range(10):
    print("hello, python")

3、for 可以和 else 配合使用

  • 语法格式
for <variable> in <ssequence>:
    <statements>
else:
    <statements>
  • 解读:什么情况下会进入 else,就是 for 循环正常的完成遍历,在遍历过程中,没有被打断(解释:比如没有执行到 break 语句)。
# for-else案例
nums = [1, 2, 3]
for i in nums:
    print("hsp")
    # 演示break
    # if i == 2:
    #     break  # 中断-提前结束for
else:
    print("没有循环数据了...")
练习
# 以下代码输出什么
languages = ["c", "c++", "java", "python"]
for language in languages:
    print(language)

while 循环分支

基本语法
  1. 基本介绍:while 循环用于在表达式为真的情况下,重复的(循环的)执行,是通过 while 语句来实现的。
  2. 基本语法
while 判断条件(condition):
    循环操作语句(statements)...
  1. 基本语法说明
  • while 是关键字,是规定好的。
  • 当判断条件为 True 时,就执行循环操作语句,如果为 False,就退出 while。
  • 循环操作语句,这里可以有多条语句,也就是我们要循环执行的代码,也叫循环体。
while 循环执行流程分析
  1. 代码演示
# 使用while完成10句 “hsp”
i = 1
while i <= 10:
    print("hsp")
    i += 1
  1. while 循环控制流程图

image-20240610180701275

  1. 代码执行内存分析法

image-20240610181514324

注意事项和细节说明
  1. while 可以和 else 配合使用
  • 语法格式
while 判断条件(condition):
    循环操作语句(statements)
else:
    其它语句<additional_statements(s)>
  • 解读:在 while … else 判断条件为 false 时,会执行 else 的语句块,即:在遍历过程中,没有被打断(解释:比如没有执行到 break 语句)。
  1. 使用案例
# while-else使用案例
i = 0
while i < 3:
    print("hsp")
    i += 1
    # 演示break 中断
    # if i == 1:
    #     break
else:
    print("i < 3 不成立 i =", i)
练习
# 1、打印 1-100 之间所有能被3整除的数
i = 1
max_num = 100
while i <= max_num:
    if i % 3 == 0:
        print(i)
    i += 1
# 2、打印 40-200 之间所有的偶数
i = 40
max_num = 200
while i <= max_num:
    if i % 2 == 0:
        print(i)
    i += 1
# 3、不断输入姓名,知道输入“exit”为止
name = ""
while name != "exit":
    name = input("Enter your name: ")
    print("输入的内容是:", name)
# 4、打印 1~100 之间所有是9的倍数的整数,统计个数及总和
i = 1
max_num = 100
count = 0
sum = 0

while i <= max_num:
    if i % 9 == 0:
        print(i)
        count += 1
        sum += i
    i += 1
print("count:", count)
print("sum:", sum)

# 5、完成下列表达式输出
num = int(input("请输入一个整数:"))
i = 0
while i <= num:
    print(f"{i} + {num - i} = {num}")
    i += 1

多重循环控制

基本介绍
  1. 基本介绍
  • 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for、while 均可以作为外层循环和内层循环。[建议一般使用两层,最多不要超过三层,否则,代码的可读性不好]。
  • 实际上,嵌套循环就是把内层循环当做外层循环的循环体。
  • 如果外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m*n 次。
# 如果外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
for i in range(2):
    for j in range(3):
        print("i=", i, "j=", j)
应用案例
  • 编程思想:化繁为简,先死后活。
  1. 打印空心金字塔
# 打印空心金字塔
"""
思路分析
    - 先死后活
    1、先不考虑层数的变化,嘉定就是5层,后面做活
    - 化繁为简
    1、打印矩形
    2、打印直角三角形
    3、打印金字塔
    4、打印空心金字塔
"""
# 总层数
total_level = 5
# i 控制层数
for i in range(1, total_level + 1):
    # k 控制输出空格数
    for k in range(total_level - i):
        print(" ", end="")
    # j 控制每层输出的*号个数
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2 or i == total_level:
            print("*", end="")
        else:
            print(" ", end="")
    # 每层输出后,换行
    print("")
  1. 打印空心菱形
# 空心菱形
n = 5
for i in range(n):
    if i == 0:
        print(" " * (n - i - 1) + "*" * (2 * i + 1))
    else:
        print(" " * (n - i - 1) + "*" + " " * (2 * i - 1) + "*")
for i in range(n - 2, -1, -1):
    if i == 0 or i == n - 1:
        print(" " * (n - i - 1) + "*" * (2 * i + 1))
    else:
        print(" " * (n - i - 1) + "*" + " " * (2 * i - 1) + "*")
  1. 使用 while 循环来实现空心金字塔
# while实现空心金字塔
i = 0
n = 5
while i < n:
    if i == 0 or i == n - 1:
        print(" " * (n - i - 1) + "*" * (2 * i + 1))
    else:
        print(" " * (n - i - 1) + "*" + " " * (2 * i - 1) + "*")
    i += 1
  1. 统计班级情况
"""
统计3个班成绩情况,每个班有5名同学,要求:
1、求出每个班的平均分和所有班的平均分,学生的成绩从键盘输入
2、统计三个班及格人数

编程思想:(1)化繁为简(2)先死后活【先考虑3个班,每个班5名同学】
# 化繁为简
1. 先统计1个班成绩情况,求出一个班的平均分
2. 统计3个班成绩情况,求出各个班的平均分、所有班级的平均分和 及格人数
"""

total = 0.0
pass_num = 0
class_num = 3
student_num = 5
# 循环地处理3个班级的成绩
for j in range(class_num):
    # 统计一个班成绩情况
    sum = 0.0
    for i in range(student_num):
        score = float(input(f"请输入第{j + 1}班的 第{i + 1}个学生的成绩:"))
        # 判断是否及格
        if score >= 60.0:
            pass_num += 1
        sum += score
    print(f"第{j + 1}班级的情况:平均分{sum / 5}")
    total = total + sum
print(f"所有班级的平均分 {total / (student_num * class_num)},及格人数 {pass_num}")
  1. 打印九九乘法表
# 九九乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {i * j}", end="\t")
    print()

break 语句

基本介绍
  1. 基本介绍
  • break 语句用于终止某个语句块的执行,使用在循环中
  1. 基本语法
...
break
...
  1. break 语句流程图

image-20240612124106922

快速入门
# 随机生成 1-100 的一个数,直到生成了97这个数,看看一共用了多少次
# random.randint(a, b) 返回随机整数N满足 a<=N<=b。相当于randrange(a, b+1)
import random

count = 0
while True:
    count += 1
    n = random.randint(1, 100)
    print(n)
    if n == 97:
        break
print("count =", count)
注意实现和细节说明
  1. break 语句是用在 for 或 while 循环所嵌套的代码。
  2. 它会终结最近的外层循环,如果循环有可选的 else 子句,也会跳过该子句。
  3. 如果一个 for 循环被 break 所终结,该循环的控制变量会保持其当前值。
# 它会终结最近的外层循环,如果循环有可选的else子句,也会跳过该子句。
count = 0
while True:
    print("hi")
    count += 1
    if count == 3:
        break
    while True:
        print("ok")
        break
else:
    print("hello")

# 如果一个for循环被break所终结,该循环的控制变量会保持其当前值。
nums = [1, 2, 3, 4, 5]
for i in nums:
    if i > 3:
        break
print("i =", i)
练习
  1. 1 - 100 以内的求和,求出当和第一次大于 20 的当前控制循环的变量是多少。
sum = 0
for i in range(1, 101):
    sum += i
    if sum > 20:
        break
print(i)
  1. 实现登录验证,有三次机会,如果用户名为“张无忌”,密码“888” 提示登录成功,否则提示还有几次机会。
change = 3
for i in range(1, 4):
    name = input("请输入你的姓名:")
    passwd = int(input("请输入你的密码:"))
    change -= 1
    if name == "张无忌" and passwd == 888:
        print("登录成功")
        break
    else:
        print(f"姓名或密码错误,还有{3 - i}次机会")

continue 语句

基本介绍
  1. 基本介绍
  • continue 语句用于 for 或 while 循环所嵌套的代码中。
  • continue 语句用于结束本次循环,继续执行循环的下一次轮次。继续执行的是:该 continue 最近的外层循环的下一次轮次。
  1. 基本语法
...
continue
...
  1. continue 语句流程图

image-20240613123650312

快速入门
# 下面代码输出结果是什么
i = 1
while i <= 4:
    i += 1
    if i == 3:
        continue
    print("i =", i)

image-20240613124615091

练习
  1. 请分析下面的代码输出结果是什么。
for i in range(0, 13):
    if i == 10:
        continue
    print("i =", i)
for i in range(0, 2):
    for j in range(1, 4):
        if j == 2:
            continue
        print("i =", i, "j =", j)

return 语句

基本介绍
  1. 基本介绍
  • return 使用在函数,表示跳出所在的函数。
  1. 演示案例
def f1():
    for i in range(1, 5):
        if i == 3:
            return
            # break
            # continue
        print("i =", i)
    print("结束for循环!")


f1()

本章作业

"""
某人有100000元,没经过一次路口,需要交费,规则如下:
当现金>50000时,每次交5%;当现金<=50000时,每次交1000.
"""
money = 100000
count = 0
while True:
    if money > 50000:
        money *= 0.95
        count += 1
    elif money >= 1000:
        money -= 1000
        count += 1
    else:
        break

print("count =", count, "money =", money)

欢迎关注我的博客,如有疑问或建议,请随时留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902029.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux中DHCP服务器配置和管理

文章目录 一、DHCP服务1.1、DHCP的工作流程1.2、DHCP的工作模式1.3、dhcp的主要配置文件 二、安装DHCP服务2.1、更新yum源2.2、安装DHCP服务软件包2.3、配置DHCP服务2.4、启用DHCP服务&#xff08;解决报错&#xff09;2.4.1、查看dhcpd服务的状态和最近的日志条目2.4.2、查看与…

js构造函数和原型对象,ES6中的class,四种继承方式

一、构造函数 1.构造函数是一种特殊的函数&#xff0c;主要用来初始化对象 2.使用场景 常见的{...}语法允许创建一个对象。可以通过构造函数来快速创建多个类似的对象。 const Peppa {name: 佩奇,age: 6,sex: 女}const George {name: 乔治,age: 3,sex: 男}const Mum {nam…

【react 和 vue】 ---- 实现组件的递归渲染

1. 需求场景 今天遇到了一个需求&#xff0c;就是 HTML 的递归渲染。问题就是商品的可用时间&#xff0c;使用规则等数据是后端配置&#xff0c;然后配置规则则是可以无限递归的往下配置&#xff0c;可以存在很多级。后端实现后&#xff0c;数据返回前端&#xff0c;就需要前端…

【mysql 进阶】2-1. MySQL 服务器介绍

MySQL 服务器简介 通常所说的 MySQL 服务器指的是mysqld程序&#xff0c;当运⾏mysqld后对外提供MySQL 服务&#xff0c;这个专题的内容涵盖了以下关于MySQL 服务器以及相关配置的内容&#xff0c;包括&#xff1a; 服务器⽀持的启动选项。可以在命令⾏和配置⽂件中指定这些选…

前后端请求、返回数据的多种方式

Springboot项目的业务逻辑 &#x1f319;项目基本结构&#xff1a; 通常情况下&#xff0c;我们在搭建后端项目的时候&#xff0c;处理业务逻辑我们需要用到Controller,Service,Mapper(mybatis,mybatis-plus)&#xff0c;Entry各层之间的相互调用来完成&#xff0c;还有就是我…

数据库->增删改查

目录 一、CRUD简介 二、Create新增 1.单行数据插入 2.查询 3. 多行数据插入 4.执行本机的SQL脚本插入 三、Retrieve检索 1.全列查询 2.指定列查询 3.查询字段为表达式 3.1 常量表达式 3.2列的值与常量运算 3.3列与列之间的运算 3.4为列指定别名 4.结果查询去重…

高等数学-宋浩版2.0-映射

映射&#xff1a;X,Y为非空集合&#xff0c;存在法则F,对X(原像)中每个元素X&#xff0c;按法则F&#xff0c;在Y中有唯一元素与之对应&#xff0c;F为x到Y&#xff08;镜像&#xff09;的映射。f:X->Y X原像&#xff0c;Y像&#xff0c;x定义域&#xff0c;Df,Rf &#x…

php后端学习,Java转php

遇到前后端跨域 php解决跨域问题可以加上下面的代码&#xff1a; header(“Access-Control-Allow-Origin:*”); 并且查看自己的数据库信息是否连接成功。 从Java转php 个人感受php跟偏向前端&#xff0c; 写后端逻辑时没有像java又springboot工具方便。 但是和前端联调很方便…

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破&#xff08;burpsuite&#xff09; 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…

Python基于TensorFlow实现简单循环神经网络回归模型(SimpleRNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 Simple RNN是一种基础的循环神经网络&#xff0c;它能够处理序列数据&#xff0c;例如文本、时间序…

React写关键字高亮的三个方案

1.js正则replaceAlldangerouslySetInnerHTML{{ __html: xxx }}危险属性 步骤最简单,但是是危险属性,不推荐使用,项目中实在没有头绪,可以使用它应急 通过useMemo计算得到新的状态值,赋值给dangerouslySetInnerHTML属性的__html 关键代码: const [state1, setState1] useSt…

【网络原理】网络地址转换----NAT技术详解

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 我们在 IP协议 一文中介绍过&#xff0c;由于IPv4协议中 IP地址只有32位&#xff0c;导致最多只能表示 42亿9千万个IP地址。但我们需要通过IP地址来标识网络上的每一个设备&#x…

java核心技术点都有哪些

1. 面向对象编程&#xff08;OOP&#xff09; 核心概念&#xff1a;类、对象、继承、封装、多态。 比喻&#xff1a;面向对象编程就像是在搭建一个积木城堡。类&#xff08;Class&#xff09;是城堡的设计图纸&#xff0c;它定义了城堡的结构和功能&#xff1b;对象&#xff08…

传输层TCP

报头 1.报头和有效载荷如何分离将&#xff0c;有效载荷向上交付&#xff1f; tcp有个标准报头长度为20&#xff0c;那是不是以为我们可以像udp一样分离依靠报头大小去分离&#xff0c;我们仔细去看我们报头中还有个选项没包含到。 我们还有个首部长度&#xff0c;四位可以表…

测试代理IP的有效性和可用性

使用代理IP的有效性和可用性直接关系到用户的工作效率&#xff0c;尤其是在进行数据抓取、网络爬虫和保护个人隐私等场景中。 一、测试代理IP的必要性 代理IP的可用性测试是确保代理服务正常运行的重要步骤。测试代理IP的必要性主要体现在以下几个方面&#xff1a; 提升工作…

【Docker命令】日常使用的Docker命令

Docker常用命令 1、基础命令2、容器管理3、镜像管理推送镜像 4、网络管理5、数据管理 1、基础命令 - docker run&#xff1a;运行一个容器,--name 指定容器的名称&#xff0c;-i 获取标准输入输出&#xff0c;-t显示在终端&#xff0c;-d放到后台运行&#xff0c;--rm容器停止…

STM32传感器模块编程实践(十) 2.4G NRF24L01通信模块简介及驱动源码

文章目录 一.概要二.NRF24L01模块介绍三.NRF24L01模块主要特性四.国产射频芯片SI24R1介绍五.模块接线说明六.参考原理图七.通讯协议介绍八.STM32单片机与NRF24L01模块实现远无线通讯实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 九.源代码工程下载十.小结 一.概要 NRF24…

InnoDB 存储引擎<二>页结构和行结构

目录 ⻚结构 ⾏结构 ⻚结构 ⻚在MySQL运⾏的过程中起到了⾮常重要的作⽤&#xff0c;为了能发挥更好的性能&#xff0c;可以结合⾃⼰系统的 业务场景和数据⼤⼩&#xff0c;对⻚相关的系统变量进⾏调整&#xff0c;⻚的⼤⼩就是⼀个⾮常重要的调整项 1.⻚的⼤⼩可以设置吗&…

RHCSA笔记一

常见的操作系统 UNIX 、 Linux 类、 Windows 类 搭建Linux学习环境 如何安装linux操作系统&#xff1a; 安装独立的 Linux 系统&#xff0c;不再安装其他操作系统。 安装 Windows 与 Linux 并存的多操作系统&#xff0c;启动时通过菜单选择要启动的操作系统。 在虚拟机中安…

十一、数据库配置

一、Navicat配置 这个软件需要破解 密码是&#xff1a;123456&#xff1b; 新建连接》新建数据库 创建一个表 保存出现名字设置 双击打开 把id设置为自动递增 这里就相当于每一次向数据库添加一个语句&#xff0c;会自动增长id一次 二、数据库的增删改查 1、Vs 建一个控…