Python中的while循环,知其然知其所以然

文章目录

  • while循环结构
    • 1.用循环打印1 ~ 100步骤解析
    • 2. 1 ~ 100的累加和
    • 3.死循环
      • 1. 用死循环的方法实现 1 ~ 100累加和
    • 4. 单向循环
      • (1)打印 一行十个小星星*
      • (2)通过打印一个变量的形式,展现一行十个小星星
      • (3)一行十个换色的星星 ★☆★☆★☆★☆★☆
      • (4)用一个循环,打印十行十列小星星
      • (5) 一个循环实现十行十列,格列换色的小星星
      • (6)一个循环实现十行十列,隔行换色的小星星
      • (7)国际象棋棋盘
    • 5.双向循环
      • 1.用两个循环完成十行十列的小星星
      • 2.用两个循环完成十行十列隔列换色的小星星
      • 3.用两个循环完成十行十列隔行换色的小星星
      • 4.使用循环打印99乘法表
        • 方向一
        • 方向二
        • 方向三
        • 方向四
    • 6.求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 ...
      • 方法一
      • 方法二
      • 方法三
    • 7.百钱买百鸡
    • 8.break continue pass 关键字的使用
      • (1)pass 过 (代码块中的占位符),防止代码报错,没有逻辑意义
      • (2)break 终止当前循环 (只能用在循环之中)
      • (3)continue 跳过当前循环,从下一次循环开始,跳过后,continue后面的代码是不执行的

while循环结构

Python中的while循环是一个重复执行某段代码块的条件控制语句,只要条件为真,就会一直执行下去,直到条件不再满足为止。

特点:减少冗余代码,提升执行效率
语法:
while 条件表达式:
code1

(1) 初始化一个变量
(2) 写上循环的条件
(3) 自增自减的值

在这里插入图片描述

在这里插入图片描述

1.用循环打印1 ~ 100步骤解析

#(1) 初始化一个变量

i = 1
#(2) 写上循环的条件
while i <= 100:# (4) 写上循环的逻辑print(i)# (3) 自增自减的值i += 1 # i = i + 1

代码解析:
第一次循环
i = 1 i<=100 判断为真,执行循环体 print(1)
i += 1 i => 2
第二次循环
代码回到17行,重新进行条件判定
i = 2 i<=100 判断为真,执行循环体 print(2)
i += 1 i => 3
第三次循环
代码回到17行,重新进行条件判定
i = 3 i<=100 判断为真,执行循环体 print(3)
i += 1 i => 4


以此类推

直到i = 101 i <= 100 判断为假,不执行循环体,到此循环结束…
1 ~ 100

2. 1 ~ 100的累加和

#(1) 初始化一个变量

i = 1
total = 0#(2) 写上循环的条件
while i <= 100 :# (4) 写上自定义的逻辑total += i# (3) 自增自减的值i += 1
print(total)

代码解析:
第一次循环
i = 1 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1
i += 1 => i = 2

第二次循环
i = 2 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2
i += 1 => i = 3

第三次循环
i = 3 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2 + 3
i += 1 => i = 4


依次类推

当i = 101 101 <= 100 判定为假False 不执行循环体,到此,循环结束…

total += i => total + i => 0 + 1 + 2 + 3 + 4 + … + 100 => 5050

在这里插入图片描述

3.死循环

while True:
print(1)
在这里插入图片描述

写程序的时候,除了特定要求,一定要避免死循环,否则将一直占用CPU

1. 用死循环的方法实现 1 ~ 100累加和

i = 1
total = 0
sign = True   #设置个变量,是为了不使用关键字的情况下,控制能退出循环
while sign:total += ii+=1# 判断i是否加到了101 , 不参与循环if i == 101:# 终止循环sign = False
print(total) #1 ~ 100 = 5050

在这里插入图片描述

4. 单向循环

(1)打印 一行十个小星星*

help(print)
#help 查看某个方法的文档 相当于linux里面的 --help ,查看某函数(方法)的使用方法
help(print)
在这里插入图片描述

默认间隔是空格,默认结尾带换行,默认输出的是系统标准输出。可以修改
在这里插入图片描述

i = 0
while i<10:    # end='' 打印时,尾部默认不加换行print("*",end='')    i += 1
# 默认换行
# print()

(2)通过打印一个变量的形式,展现一行十个小星星

i = 0
strvar = ""
while i < 10:# 写上循环的逻辑strvar += "*" # strvar = strvar + "*"i +=1
print(strvar)
strvar += "*" => strvar = "*"
strvar += "*" => strvar = "*" + "*"  = "**"
strvar += "*" => strvar = "**" + "*" = "***"
...
strvar += "*" => strvar = "********" + "*" = "*********"

(3)一行十个换色的星星 ★☆★☆★☆★☆★☆

在这里插入图片描述

#方法一
i = 0
while i < 5:
print(“★☆”,end=“”)
i+=1

#方法二
i = 0
while i < 10:
if i % 2 == 0 :
print(“★”,end=“”)
else:
print(“☆”,end=“”)
i+=1

print(“<=============>”)

#方法三
i = 0
strvar = “”
while i < 10:
if i % 2 == 0 :
strvar += “★”
else:
strvar += “☆”
i+=1
print(strvar)
在这里插入图片描述

公式: 任意数 和 n 进行取余,余数的范围: 0 ~ (n-1)
0 % 2 = 0
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
被除数 % 2 => 0 或者 1

0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
7 % 5 = 2
被除数 % 5 => 0 或者 1,2,3,4

(4)用一个循环,打印十行十列小星星

“”"
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
★★★★★★★★★★
“”"
在这里插入图片描述

#方法一

i = 0 
while i < 100:# 逻辑写在这里print("*" , end="")# 打印换行 (在9 19 29 .. 99 )if i % 10 == 9:print()i += 1 

0123456789


10111213141516171819


20212223242526272829



90919293949596979899


9 19 29 39 49 59 69 79 89 99 个位数都带9,与9取余为0时换行,即可
9 % 10 = 9
19 % 10 = 9
29 % 10 = 9

99 % 10 = 9

“”"

在这里插入图片描述

#方法二

i = 1
while i <= 100:# 逻辑写在这里print("*" , end="")# 打印换行 (在10 20 30 .. 100 )if i % 10 == 0:print()i += 1 
12345678910
**********
11121314151617181920
**********
21222324252627282930
**********...
919293949596979899100
**********
10 20 30 ... 100

代码追求高内聚,低耦合
双循环实现
在这里插入图片描述

(5) 一个循环实现十行十列,格列换色的小星星

★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆

在这里插入图片描述

i = 0 
while i < 100:# (1)打印星星if i % 2 == 0 :print("★",end="")else:print("☆",end="")# (2)打印换行 (在9 19 29 .. 99 )if i % 10 == 9:print()i += 1 

在这里插入图片描述

(6)一个循环实现十行十列,隔行换色的小星星

★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆

公式:任意数和n进行地板除,会出现n个相同的数
0 // 10 = 0
1 // 10 = 0
2 // 10 = 0

9 // 10 = 0
0 ~ 9 // 10 => 0 (10个相同的0)

10 // 10 = 1
11 // 10 = 1
12 // 10 = 1

19 // 10 = 1
10 ~ 19 // 10 => 1 (10个相同的1)

… 以此类推
20 ~ 29 // 10 => 2 (10个相同的2)
30 ~ 39 // 10 => 3 (10个相同的3)
40 ~ 49 // 10 => 4 (10个相同的4)

90 ~ 99 // 10 => 9 (10个相同的9)

0~ 100 会出现10个相同的0,1,2 , 3 … 9

0 // 3 0
1 // 3 0
2 // 3 0
3 // 3 1
4 // 3 1
5 // 3 1
“”"

“”“”“”

#方法一

i = 0 
while i < 100:# (1)打印星星if i // 10 % 2 == 0:print("★",end="")else:print("☆",end="")# (2)打印换行 (在9 19 29 .. 99 )if i % 10 == 9:print()i += 1 

在这里插入图片描述

#方法二

i = 10
while i < 110:# 打印星星 num = int(str(i)[-2])if num % 2 == 0 :print("★",end="")else:print("☆",end="")# 打印换行if i % 10 == 9:print()i+=1
"""
10 ~ 100 101 102 103 110...10 ~ 19 => 1
20 ~ 29 => 2
30 ~ 39 => 3
90 ~ 99 => 9
100 ~ 109 => 0
"""

在这里插入图片描述

国际象棋棋盘

在这里插入图片描述
在这里插入图片描述

(7)国际象棋棋盘

#■ □

i = 0
while i < 8:j = 0while j < 8:if i % 2 == 0:if j % 2 == 0:print("■",end='')else:print("□", end='')else:if j % 2 == 1:print("■",end='')else:print("□", end='')if j == 7 :print()j += 1i += 1

5.双向循环

1、使用双向循环打印出十行十列小星星
在这里插入图片描述

1.用两个循环完成十行十列的小星星

j = 0 
while j < 10:# 打印星星i = 0while i < 10:print("*",end="")i+=1# 打印换行print()j += 1

逻辑分析,双层循环,各做各的,内层循环是连续打印一行连续的10个星星,外层循环是将内层循环,循环执行十遍,然后内存循环一次,做次换行,就是这么无脑
在这里插入图片描述

2.用两个循环完成十行十列隔列换色的小星星

“”"
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
“”"

i = 0
while i < 10:# 打印一行黑白相间的星星j = 0while j < 10:if j % 2 == 0:print("☆",end="")else:print("★",end="")j +=1# 打印换行print()    i+=1

在这里插入图片描述

3.用两个循环完成十行十列隔行换色的小星星

★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆

外层的循环i动的慢
内层的循环j动的快
外层的i动一次, 内层的循环动10次

i = 0
while i < 10 :j = 0while j < 10:if i % 2 == 0:print("☆",end="")else:print("★",end="")j +=1print()i +=1

外层控制行,内层控制列
在这里插入图片描述

4.使用循环打印99乘法表

方向一
i = 1
while i <= 9:# 打印对应的表达式j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j) ,end="" )j+=1# 打印换行print()i +=1

在这里插入图片描述

使用%d对齐
在这里插入图片描述

f格式化字符串对齐,两个长度,居右对齐
在这里插入图片描述
在这里插入图片描述

方向二
i = 9
while i >= 1:# 打印对应的表达式j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j) ,end="" )j+=1# 打印换行print()i -= 1

在这里插入图片描述

方向三
i = 1
while i <= 9 :kongge = 9 - i# 打印空格while kongge > 0:print("       ",end="")kongge -= 1  # 打印表达式j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j) ,end="" )j+=1# 换行print()i +=1

原理:如图3, 1x1被空格挤到了右边,每个表达式f"{j} x {i}={i*j:>2}",end=’ ’ 占了9位,即9个空格。最多的一行从1x1到1x9 一共占了 9组,9x9 =81个空格,但有个1x1一组,空格最多一行占八组空格
所以空格组数,从8到 1依次递减,直到最后一行,空格数为零,不再需要空格去占位。跟之前的1x1到1x9打印方式一样
在这里插入图片描述
在这里插入图片描述

一组有多少个空格,空格循环那里打印几个空格
即每个表达式f"{j} x {i}={i*j:>2}",end=’ ’ 占了9位,即9个空格

方向四
i = 9
while i >= 1 :kongge = 9 - i# 打印空格while kongge > 0:print("       ",end="")kongge -= 1  # 打印表达式j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j) ,end="" )j+=1# 打印换行print()i -=1

在这里插入图片描述

6.求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 …

// 可以获取一个数高位
% 可以获取一个数低位
baiwei = 345 // 100
shiwei = 345 // 10 % 10
gewei = 345 % 10
print(gewei)

方法一

i = 100
while i <= 999:baiwei = i // 100shiwei = i // 10 % 10gewei = i % 10if shiwei == gewei  and shiwei == baiwei :print(i)# 123elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)# 987elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)i +=1

在这里插入图片描述

方法二

i = 100
while i <= 999:strvar = str(i)# print(strvar, type(strvar))gewei = int(strvar[-1])shiwei = int(strvar[1])baiwei = int(strvar[0])if shiwei == gewei  and shiwei == baiwei :print(i)# 123elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)# 987elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)i +=1

在这里插入图片描述

方法三

i = 100
while i <= 999:strvar = str(i)# print(strvar, type(strvar))gewei = int(strvar[-1])shiwei = int(strvar[1])baiwei = int(strvar[0])if 2 * shiwei == gewei + baiwei and (shiwei == gewei + 1 or shiwei == gewei -1 ):print(i)elif gewei == shiwei and shiwei == baiwei:print(i)i +=1

在这里插入图片描述

7.百钱买百鸡

#公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

穷举法:把数据拿出来一个一个试
x = [1,2]
y = [3,4]
z = [5,6]
x+y+z = 10
1 + 3 + 5 = 9
1 + 3 + 6 = 10 bingo
1 + 4 + 5 = 10 bingo
1 + 4 + 6 = 11
2 + 3 + 5 = 10 bingo
2 + 3 + 6 = 11
2 + 4 + 5 = 11
2 + 4 + 6 = 12

公鸡 : x 母鸡 : y 小鸡: z
鸡的数量:x + y + z = 100
鸡的价格:5 * x + 3 * y + 1/3*z = 100

x = 0
while x <= 20:y = 0while y <= 33:z = 0while z <= 100:if x+y+z == 100 and 5*x + 3 * y + 1/3*z == 100 :print(x,y,z)z += 1    y +=1x += 1

在这里插入图片描述

8.break continue pass 关键字的使用

####关键字的使用 pass break continue

break和continue的区别,break是跳出循环
continue则是跳出本次循环执行下一次循环
return 也会终止循环

(1)pass 过 (代码块中的占位符),防止代码报错,没有逻辑意义

if 20 == 20:
pass

while True:
pass

如果没有代码要写,而且不占位,就会报错
在这里插入图片描述

(2)break 终止当前循环 (只能用在循环之中)

break语句用于结束循环,若循环中使用了break语句,程序执行到break
语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会
结束本层循环。

#1 ~ 10 遇到5终止循环
i = 1
while i <= 10:
print(i)
if i == 5:
break
i +=1
在这里插入图片描述

(3)continue 跳过当前循环,从下一次循环开始,跳过后,continue后面的代码是不执行的

#打印 1 ~ 10 跳过5

i = 1
while i <= 10:    if i == 5:# 在跳过之前,因为会终止执行后面的代码,从下一次循环开始# 为了避免死循环,手动加1i += 1continueprint(i)i +=1

在这里插入图片描述

#1 ~ 100 打印所有不含有4的数字
#方法一

i = 1
while i <= 100:strvar = str(i)# print(strvar)if "4" in strvar:i += 1continueprint(i)i +=1

在这里插入图片描述

#方法二

i = 1
while i <= 100:if i // 10 == 4 or i % 10 == 4:i+=1continueprint(i)i+=1

在这里插入图片描述

总结:以上就是python关于while循环的所有用法,希望对大家在python的学习工作中有所帮助,ღ( ´・ᴗ・` )比心

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 一小时从入门到实战 —— Docker commands | Create your own image | vs VM ... 基本概念扫盲

Docker crash course 文章目录 Docker crash course1. What and Why of Docker?2.1 What2.2 What problem does it solve?2.2.1 before containers2.1.2 with containers 2. Docker vs Virtual Machines2.1 Difference2.2 Benefits 3. Install docker locally4. Images vs Co…

深入PyTorch——reshape方法和view方法的差异

深入PyTorch——reshape方法和view方法的差异 &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;reshape方法&#x1f333;&#x1f333;view方法&#x1f333;&#x1f333;总结&#x1f333;&#x1f333;结尾&#x1f333; &#x1f333;引言…

【数据分享】1929-2023年全球站点的逐日最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2023年全球气象站…

大数据Zookeeper--案例

文章目录 服务器动态上下线监听案例需求需求分析具体实现测试 Zookeeper分布式锁案例原生Zookeeper实现分布式锁Curator框架实现分布式锁 Zookeeper面试重点选举机制生产集群安装多少zk合适zk常用命令 服务器动态上下线监听案例 需求 某分布式系统中&#xff0c;主节点可以有…

Linux【docker 设置阿里源】

文章目录 一、查看本地docker的镜像配置二、配置阿里镜像三、检查配置 一、查看本地docker的镜像配置 docker info一般没有配置过是不会出现Registry字段的 二、配置阿里镜像 直接执行下面代码即可&#xff0c;安装1.10.0以上版本的Docker客户端都会有/etc/docker 1.建立配置…

docker部署笔记系统flatnotes

效果 安装 创建目录 mkdir -p /opt/flatnotes/data && cd /opt/flatnotes/ chmod -R 777 /opt/flatnotes/ 创建并启动容器(可以自己修改账户和密码) docker run -d \ --restart unless-stopped \ --name flatnotes \ -p "10040:8080" \ -v "/dat…

【高质量精品】2024美赛B题22页word版高质量半成品论文+多版保奖思路+数据+前四问思路代码等(后续会更新)

一定要点击文末的卡片&#xff0c;进入后&#xff0c;获取完整论文&#xff01;&#xff01; B 题整体模型构建 1. 潜水器动力系统失效&#xff1a;模型需要考虑潜水器在无推进力情况下的行为。 2. 失去与主船通信&#xff1a;考虑无法从主船接收指令或发送位置信息的情况。…

爱上算法:每日算法(24-2月4号)

&#x1f31f;坚持每日刷算法&#xff0c;&#x1f603;将其变为习惯&#x1f91b;让我们一起坚持吧&#x1f4aa; 文章目录 [232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/)思路CodeJavaC 复杂度 [225. 用队列实现栈](https://leetcode.cn/…

【人工智能】文本嵌入:向量存储与数据查询的智慧交织(12)

在当今信息激增的时代&#xff0c;将中文存储到向量数据库&#xff08;如Redis等&#xff09;并实现向量检索&#xff0c;正成为解决日常应用中文信息处理难题的关键利器。这项技术不仅赋予计算机对中文语义的理解能力&#xff0c;更让我们能够以更智能、高效的方式处理和检索中…

BUUCTF-Real-[ThinkPHP]IN SQL INJECTION

目录 漏洞描述 漏洞分析 漏洞复现 漏洞描述 漏洞发现时间&#xff1a; 2018-09-04 CVE 参考&#xff1a;CVE-2018-16385 最高严重级别&#xff1a;低风险 受影响的系统&#xff1a;ThinkPHP < 5.1.23 漏洞描述&#xff1a; ThinkPHP是一款快速、兼容、简单的轻量级国产P…

【Flink入门修炼】1-1 为什么要学习 Flink?

流处理和批处理是什么&#xff1f; 什么是 Flink&#xff1f; 为什么要学习 Flink&#xff1f; Flink 有什么特点&#xff0c;能做什么&#xff1f; 本文将为你解答以上问题。 一、批处理和流处理 早些年&#xff0c;大数据处理还主要为批处理&#xff0c;一般按天或小时定时处…

鸿蒙ArkUI实现开关switch组件

鸿蒙ArkUI官方提供的toggle组件实现了开关的样式&#xff0c;但在使用过程中还是非常的不方便。 DIY可视化对鸿蒙ArkUI实现开关switch组件扩展后满足基本的switch需求&#xff0c;支持绑定值、设置标题文本、整个背景样式等。 /*** 开关*/ Component export default struct Di…

【发票识别】新增针对图片发票的识别(升级中)

说明 为了完善发票识别的功能&#xff0c;目前发票识别支持发票图片格式的识别&#xff0c;增加可用性。 体验 体验地址&#xff1a;https://invoice.behappyto.cn/invoice-service/ 体验地址上面有示例的发票&#xff0c;可以下载上传识别或者复制url地址进行识别。 技术栈…

Java 获取操作时区 ZonedDateTime

Java 获取操作时区 ZonedDateTime package com.zhong.timeaddress;import java.time.Clock; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.Set;public class TimeAddress {public static void main(String[] args) {// 获取系统默认时区ZoneId…

下载已编译的 OpenCV 包在 Visual Studio 下实现快速配置

自己编译 OpenCV 挺麻烦的&#xff0c;配置需要耗费很长时间&#xff0c;编译也需要很长时间&#xff0c;而且无法保证能全部编译通过。利用 OpenCV 官网提供的已编译的 OpenCV 库可以节省很多时间。下面介绍安装配置方法。 1. OpenCV 官网 地址是&#xff1a;https://opencv…

7.0 Zookeeper 客户端基础命令使用

zookeeper 命令用于在 zookeeper 服务上执行操作。 首先执行命令&#xff0c;打开新的 session 会话&#xff0c;进入终端。 $ sh zkCli.sh 下面开始讲解基本常用命令使用&#xff0c;其中 acl 权限内容在后面章节详细阐述。 ls 命令 ls 命令用于查看某个路径下目录列表。…

MySQL 架构和性能优化

重点&#xff1a; 视图&#xff0c;函数&#xff0c;存储过程&#xff0c;触发器&#xff0c;事件&#xff08; 了解 &#xff09; 用户管理&#xff0c;密码管理 grant revoke 权限管理 MySQL 架构&#xff08; 了解 &#xff09; 存储引擎&#xff1a;MyISAM 和 InnoDB …

PyTorch识别验证码

## 一、生成测试集数据pip install captcha common.py import random import time captcha_array list("0123456789abcdefghijklmnopqrstuvwxyz") captcha_size 4from captcha.image import ImageCaptchaif __name__ __main__:for i in range(10):image ImageC…

为后端做准备

这里写目录标题 flask 文件上传与接收flask应答&#xff08;接收请求&#xff08;文件、数据&#xff09;flask请求&#xff08;上传文件&#xff09;传递参数和文件 argparse 不从命令行调用参数1、设置default值2、"从命令行传入的参数".split()3、[--input,内容] …

肿瘤免疫分型

Elements of cancer immunity and the cancer-immune set point - PubMed (nih.gov) Daniel S Chen , Ira Mellman 人类的抗癌免疫可分为三种主要表型&#xff1a;免疫沙漠表型&#xff08;棕色&#xff09;、免疫排除表型&#xff08;蓝色&#xff09;和免疫炎症型&#xff0…