第4章-程序的流程控制

news2024/11/19 18:37:48
#本章目标
了解程序的描述方式
了解程序的组织结构
掌握顺序结构
掌握循环结构forwhile
掌握程序跳转语句breakcontinue
掌握pass空语句

1,程序的描述方式

1,自然语言:就是是用人类语言,直接描述程序

image.png

2,流程图:用一系列图形,流程线和文字说明描述程序的基本操作和控制流程。主要适用于较短的算法

image.png

3,伪代码:是介于自然语言和编程语言之间的一种算法描述语言,如果程序比较小,可以直接使用代码描述。image.png

2,程序的组成结构

image.png

顺序结构

安装程序语句的自然顺序,从上到下,依次执行每条语句的程序。

image.png

#赋值运算符的顺序:从右向左
a=10
a=b=c=d=10      #链式赋值
a,b,c,d,e='linux'      #字符串分解赋值
print(a)
print(b)
print(c)
print(d)
print(e)

print('-----输入/输出-----')
name=input('请输入您的姓名:')
age=eval(input('请输入您的年龄:'))
luch_number=eval(input('请输入您的幸运数字:'))
print('姓名:',name)
print('年龄:',age)
print('数字:',luch_number)

选择结构***

也称为分支结构,是按照条件选择执行不同的代码段。

单分支结构 if
#语法结构:
if  表达式:
    语句块

image.png

number=eval(input('请输入您的6位中奖号码:'))
#使用if语句
if number==123456:      #等值判断
    print('恭喜您,中奖了!')

if number!=123456:
    print('您没有中奖!')

print('-----以上if判断的表达式,是通过比较运算符计算出来的,结果是布尔值类型----')
n=66    #赋值
if n%2:     #66%2的余数是0,0的布尔值是False,非0的布尔值是True。
    print(n,'是奇数!')     #由于66%2余数是0,所以此代码不执行
    pass

if not n%2:     #66%2的余数是0,0的布尔值是False,not False的结果为True。
    print(n,'为偶数!')
    pass

print('-----判断一个字符串是否是空字符串-----')
x=input('请输入一个字符串:')

if x:   #在Python中一切皆对象,每一个对象都有一个布尔值。非空字符串的布尔值为True,空字符串的布尔值为False。
    print('x是一个非空字符串!')
    pass
if not x:   #空字符串的布尔值为False,取反,not False的结果为True。
    print('x是一个空字符串')

print('-----表达式也可以是一个单纯的布尔值变量-----')
flag=eval(input('输入一个布尔类型的值(True|False)'))
if flag:
    print('flag的值为True!')
    pass
if not flag:
    print('flag的值为False!')
    pass

print('-----使用if语句时,如果语句块中只有一句代码,可以将语句块直接写在冒号的后面-----')
a=10
b=5
if a>b:max=a
print('a和b的最大值为:',max)
双分支结构 if…else…
#语法结构
if 表达式:
    语句1
    pass
else:
    语句2

image.png

number=eval(input('请输入您的6位中奖号码:'))
#使用if语句
if number==123456:      #等值判断
    print('恭喜您,中奖了!')
    pass
else:
    print('您没有中奖!')
    pass

print('-----以上代码使用条件表达式(三元运算符)进行简化------')
result='恭喜您中奖啦!' if number==123456 else '您未中奖!'
print(result)
#条件表达式(三元运算符)语法结构:
x if 判断条件 else y
#运算规则
如果判断条件的布尔值为True。条件表达式的返回值为x,否则条件表达式的返回值为False
多分支结构
#语法结构
if 表达式1:
	语句块1
elif 表达式2: 
	语句块2
elif 表达式n:
	语句块n
else:
	语句块n+1

image.png

score=eval(input('请输入您的成绩:'))
#多分支结构
if score<0 or score>100:
    print('成绩出错')
elif 0<=score<60:
    print('E')
elif 60<=score<70:
    print('D')
elif 70<=score<80:
    print('C')
elif 80<=score<90:
    print('B')
else:
    print('A')
语句嵌套

image.png

answer=input('请问,您喝酒了吗?')
if answer=='Y':
    proof=eval(input('请输入酒精含量:'))
    if proof<20:
        print('构不成酒驾,注意安全!')
    elif proof<80:
        print('已达到酒驾,请不要开车!')
    else:
        print('您已达到醉酒标准,请下车接受配合!')

else:
    print('谢谢配合,您未喝酒!')

条件结构***

and条件下

在使用and连接多个条件判断时,只有同时满足多个条件,才会执行if后面的语句块。

image.png

user_name=input('请输入您的用户名:')
pwd=input('请输入您的密码:')
if user_name=='li' and pwd=='888888':
    print('登录成功')
    pass
else:
    print('登录失败')
or条件下

使用or连接多个判断条件时,只要满足多个条件中的一个,就可以执行if后面的语句块

image.png

score=eval(input('请输入您的成绩:'))
if score<0 or score >100:
    print("成绩有误!")
    pass
else:
    print('您的成绩为:',score)

Python3.11的新特性-模式匹配(match)

测试之前看一下自己的版本

score=eval(input('请输入成绩等级:'))
match score:
    case 'A':
        print('优秀')
    case 'B':
        print('良好')
    case 'C':
        print('中等')
    case 'D':
        print('及格')
    case 'E':
        print('不及格')

3,循环结构***

在Python中循环结构分两类,一类是遍历循环结构for,一类是无限循环结构while

for循环

image.png

#for结构:(基础版)
#遍历对象可以是:如列表、字符串、元组、字典、集合等序列类型
for 循环变量  in  遍历对象:	
    语句块

#for...else结构:(加强版)
#else只有在循环正常结束之后才会执行。例如:遇见break终端就是不正常的。
for 循环变量  in  遍历对象:
    语句块1
else:
    语句块2 
#遍历字符串
for i in 'hello':
    print(i)
print('----------')
#range()函数,Python中的内置函数,产生一个[n,m)的整数序列,包含n,的呐不包含m。
for i in range(1,11):
    #print(i)
    if i%2==0:
        print(i,'是偶数')
print('----------')
#计算1~10直接的累加和
s=0     #用来存放累加和
for i in range(1,11):
    s+=i
print('累加和是:',s)

print('-----计算100到999之间的水仙花数-----')
'''
水仙花数的说明例如:153=1*1*1+5*5*5+3*3*3
'''
for i in range(100,1000):
    ge=i%10     #获得个位上的数。例如:153%10--->3
    shi=i//10%10    #获得十位上的数。例如:153//10-->15,15%10-->5
    bai=i//100       #获得百位上的数。例如:153/100-->1
    #进行判断
    if ge**3+shi**3+bai**3==i:
        print(i)
        pass
    pass

#for...else
s=0
for i in range(1,11):
    s+=i
    pass
else:
    print('1~10之间的累加和为:',s)

while循环

image.png

#while结构
while 表达式:
    语句块

#while...else...结构(没有break中断就执行语句块2)
while 表达式:
    语句块1
else:
    语句块2
  
#步骤1)初始化变量
(2)条件判断
(3)语句块
(4)改变变量
#判断是否要上课
#(1)初始化变量
answer=input('今天要上课吗?(y/n):')
while answer=='y':  #(2)条件判断
    print('坚持上课,学好Python')  #(3)语句块
    #(4)改变变量
    answer=input('今天要上课吗?(y/n):')

    
#while计算1~100之间的累加和
s=0 #存储累加和
i=1 #(1)初始化变量
while i<=100:    #(2)条件判断
    s+=i    #(3)语句块
    i+=1   #(4)改变变量
print('1~100的和为:',s)    

#while计算1~100之间的累加和
s=0 #存储累加和
i=1 #(1)初始化变量
while i<=100:    #(2)条件判断
    s+=i    #(3)语句块
    i+=1   #(4)改变变量
else:
    print('1~100的和为:',s)
使用while循环模拟用户登录*
#(1)初始化变量
i=0
while i<3:   #(2)条件判断 0 1 2
    #(3)语句块
    user_name=input('请输入您的用户名:')
    pwd=input('请输入您的密码:')
    #登录操作,if...else...
    if user_name=='li' and pwd=='888888':
        print('系统正在登录中....')
        #需要改变循环变量。目的:退出循环。
        i=8     #第三行 判读i<3,8<3 false退出while循环。改变变量
    else:
        if i<2:
             print('用户名或密码不正确,您还有',2-i,'次机会')
        i+=1 #相当于i=i+1  #改变变量
#单分支的判断
if i==3:    #当用户名或密码输入三次不正确的时候,循环执行结束了,i的最大值为3
    print('对不起,三次均输入错误,正在退出系统....')
#用户登录系统。如果用户输入三次用户名和密码就自动退出系统。
#思路:需要在while中判断一下用户名和密码是否正确,用if-else。

i=0     #初始变量
while i<3:  #条件判断
    user_name=input('请输入您的用户名:')
    pwd=input('请输入您的密码:')
    #登录时,验证用户名和密码的判断
    if user_name=='康熙' and pwd=='666666':
        print('输入正确,正在登录系统,请稍等....')
        i=4     #改变环境变量,目的是为了退出循环,因为我们已经正确登录,就不用再执行下面的命令了!
        pass
    else:
        if i<2:
            print('用户名或密码错误,您还有',2-i,'次机会')
        i+=1        #改变环境变量
        pass
    pass
if i==3:
    print('三次机会都用完了,正在退出系统....')

4,嵌套循环

循环结构也可以互相嵌套,在一个循环结构中嵌套另一个完整的循环结构称为循环嵌套。

image.png

image.png

打印三角形

#打印三行四列,长方形
for i in range(1,4):    #外层循环的行数
    for j in range(1,5):     #内层循环的列数
        print('*',end='')
        pass
    print()     #目的是换行
    pass
print('--------------------')
#打印正直角三角形
for i in range(1,6):    #打印5行
    #*的个数与行数相等,第一行range(1,2),第二行range(1,3)
    for j in range(1,i+1):      #打印行数
        print('*',end='')
    print()
print('--------------------')
#打印道直角三角形
for i in range(1,6):    #打印行数
    for j in range(1,7-i):      #打印列数
        print('*',end='')
        pass
    print()     #内层循环执行完成后,打印空行,换行
    pass
print('--------------------')
#打印等腰三角形
for i in range(1,6):     #外层循环行数。5行
    #打印倒三角
    for j in range(1,6-i):  #6-i表示实际第一个数是5,但是取不到所以为4.
        print(' ',end='')
        pass
    # 1,3,5,7...等腰三角形,range(1,2),range(1,4),range(1,6),range(1,8),range(1,10)
    for k in range(1,i*2):
        print('*',end='')
    print()     #当两个并列的for循环执行完毕后再换行
print('--------------------')

打印菱形***

'''
&&&*
&&***
&*****
*******
&*****
&&***
&&&*
'''
#打印菱形。注意:只有奇数行才能打印出菱形。最长的一行放上半部分。
row=eval(input('请输入菱形的行数:'))
while row%2==0:     #判断行数的奇偶性,行数是偶数,重新输入行数。
    print('请重新输入菱形的行数:')
    row=eval(input('请输入菱形的行数:'))
#输出菱形。
top_row=(row+1)//2      #上半部分的行数。
#上半部分,其实就是等腰三角形
for i in range(1,top_row):
    #打印倒三角
    for j in range(1,top_row+1-i):      #top_row+1-i举例:row=7时,top_row=(7+1)//2=4,top_row+1-i=4+1-1=4
        print(' ',end='')
        pass
    # 1,3,5,7...等腰三角形,range(1,2),range(1,4),range(1,6),range(1,8),range(1,10)
    for k in range(1,i*2):
        print('*',end='')
    print()     #当两个并列的for循环执行完毕后再换行
#下半部分是由一个直角三角形和倒等腰三角形。
bottom_row=row//2
for i in range(1,bottom_row+1):
    #直角三角形
    for j in range(1,i+1):     #打印直角三角形的行。
        print(' ',end='')
    #倒三角形
    for k in range(1,2*bottom_row-2*i+2):   #1-->range(1,8),2-->range(1,6),3-->range(1,4),4-->range(1,2)
    #2*bottom_row-2*i+2代表1-->2*4-2*1+2=8.这个的公式不太懂。
        print('*',end='')
        pass
    print()



#打印空心菱形。在最左侧和最右侧是*,其他情况都是空格
row=eval(input('请输入菱形的行数:'))
while row%2==0:     #判断行数的奇偶性,行数是偶数,重新输入行数。
    print('请重新输入菱形的行数:')
    row=eval(input('请输入菱形的行数:'))
#输出菱形。
top_row=(row+1)//2      #上半部分的行数。
#上半部分,其实就是等腰三角形
for i in range(1,top_row):
    #打印倒三角
    for j in range(1,top_row+1-i):      #top_row+1-i举例:row=7时,top_row=(7+1)//2=4,top_row+1-i=4+1-1=4
        print(' ',end='')
        pass
    # 1,3,5,7...等腰三角形,range(1,2),range(1,4),range(1,6),range(1,8),range(1,10)
    for k in range(1,i*2):
        if k==1 or k==i*2-1:
            print('*',end='')
        else:
            print(' ',end='')
    print()     #当两个并列的for循环执行完毕后再换行
#下半部分是由一个直角三角形和倒等腰三角形。
bottom_row=row//2
for i in range(1,bottom_row+1):
    #直角三角形
    for j in range(1,i+1):     #打印直角三角形的行。
        print(' ',end='')
    #倒三角形
    for k in range(1,2*bottom_row-2*i+2):   #1-->range(1,8),2-->range(1,6),3-->range(1,4),4-->range(1,2)
    #2*bottom_row-2*i+2代表1-->2*4-2*1+2=8.这个的公式不太懂。
        if k == 1 or k == 2*bottom_row-2*i+2 - 1:
           print('*', end='')
        else:
           print(' ', end='')
    print()     #换行

5,break在循环中的使用(无限循环与遍历循环)

程序跳转语句 break,用于跳出循环结构,通常与if搭配使用

image.png

无限循环

#计算累加和
s=0
i=1     #(1)初始化变量
while i<11:     #(2)条件判断
    #(3)语句
    s+=i
    if s>20:
        print('累加和大于20的当前数是:',i)
        break
    i+=1    #改变变量

print('--------------------')
 
#用户登录。    
i=0     #统计登录次数。(1)初始变量
while i<3:  #(2)条件判断
    #(3)语句块
    user_name=input('请输入您的用户名:')
    pwd=input('请输入您的密码:')
    #登录时,验证用户名和密码的判断
    if user_name=='成龙' and pwd=='888888':
        print('输入正确,正在登录系统,请稍等....')
        break
    else:
        if i<2:
            print('用户名或密码错误,您还有',2-i,'次机会')
    i+=1        #改变环境变量

else:   #while...else结构
    print('三次机会都用完了,正在退出系统....')    

遍历循环

image.png

#遇到条件直接退出
for i in 'hello':
    if i=='l':
        break
    print(i)

6,continue在循环中的使用

continue的作用:用于跳过本次循环的后续代码,而继续执行下一次循环操作,与if搭配使用

image.png

#计算累加和
s=0
i=0     #(1)初始化变量
while i<=100:     #(2)条件判断
    #(3)语句
    if i%2==1:  #为奇数
        i+=1
        continue    #不再执行后面的代码
#累加求和的代码
    s+=i
    i+=1
print('1~100之间的偶数和:',s)

image.png

#计算累加和
s=0
for i in range(1,101):
    #(3)语句
    if i%2==1:  #为奇数
        continue    #不再执行后面的代码
    #累加求和的代码
    s+=i
print('1~100之间的偶数和:',s)

7,pass语句(空语句)

  • Python中的保留字。
  • 在语法结构中起到占位符的作用,使语法结构完成,不报错。
  • 一般可用在if,for,while,函数的定义,类的定义中。

8,break和continue的对比

共同点:

  • 在Python中,break和continue只能使用在循环语句中。

不同点:

  • break 用来结束整个循环。
  • continue 用来结束本轮循环,开启下一轮循环。
#break和continue的对比
print('----break,结束循环----')
for i in 'hello world':
    if i=='o':
        break
    print(i)
print('----continue,结束本轮循环----')
for i in 'hello world':
    if i=='o':
        continue
    print(i)

9,练习题

实战一

#输入一个年份,判断是否闰年。
#需求:从键盘获取一个四位的整数年份,判断其是否为闰年。
#闰年的判断条件为:能被4整除但不能被100整除,或者不能被400整除。
year=eval(input("请输入一个四位数的年份:"))
if (year%4==0 and year!=100) or year!=400:
    print(year,"是闰年")
else:
    print(year,'是平年')

实战二

#模拟10086查询功能
#需求:输入1,显示当前余额;输入2,显示当前的剩余流量,单位为G;输入3,显示当前的剩余通话,单位为分钟;输入0,退出自助查询系统。
#(1)初始化变量
answer='y'
#(2)条件判断
while answer=='y':
    #(3)循环操作,语句块
    print('-----欢迎使用10086查询功能-----')
    print('1.查询当前余额')
    print('2.查询当前的剩余流量')
    print('3.查询当前剩余通话时长')
    print('0.退出系统')
    choice=input('输入您要执行的操作:')
    if choice=='1':
        print('当前余额为:23.45元')
    elif choice=='2':
        print('当前的剩余流量:4GB')
    elif choice=='3':
        print('当前的剩余通话时长为:200分钟')
    elif choice=='0':
        print('程序退出,谢谢您的使用')
        break
    else:
        print('对不起,输入错误')
else:   #while..else
    print('程序退出,谢谢使用')

实战三

#使用嵌套循环输出九九乘法表。
#使用嵌套循环输出九九乘法表,内层循环与外层循环的关系,输出的数据的个数与行数相同,即第一行输出一个,1*1=1,第二行输出两个1*2=2,2*2=4依次类推。
for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')
    print()

实战四

#猜数游戏
#需求:随机生成一个‘1~100’之间的整数,然后用户循环这个数,对于用户的输入,可以提示‘大了’,‘小了’,直到猜准确为止,输出用户的猜测次数。
#前两行没学过,先用着
import  random
rand=random.randint(1,100)  #产生1~100之间的随机数
count=1 #记录猜数的次数
while count<10:
    number=eval(input('在我心中有一个数,在1~100之间,请你猜一猜:'))
    if number==rand:
        print('猜对了')
        break
    elif number>rand:
        print('大了')
    else:
        print('小了')
    count+=1    #每猜一次count次数加1
#判断次数
if count<=3:
    print('真聪明,一共猜了',count,'次')
elif count<=6:
    print('还可以,一共猜了',count,'次')
else:
    print('猜的次数有点多啊!一共猜了',count,'次')

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cesium 二三维热力图

Cesium 二三维热力图 原理&#xff1a;主要依靠heatmap.js包来实现 效果图&#xff1a;

maven的卸载与安装

卸载 1.找到当前的maven路径:使用 mvn -v 查看当前maven的安装目录在哪 2.删掉 sudo rm -rf [maven的路径] 3.再次输入 mvn -v 查看是否删除成功 安装 1.下载maven安装包 https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/ 注意&#xff1a;maven版本请使用3.…

excel批量修改一列单价的金额并保留1位小数

1.打开表格&#xff0c;要把单价金额变成现在的两倍&#xff0c;数据如下&#xff1a; 2.把单价这一列粘贴到一个新的sheet页面&#xff0c;在B2单元格输入公式&#xff1a;A2*2 然后按enter回车键,这时候吧鼠标放到B2单元格右下角&#xff0c;会出现一个黑色的小加号&#xf…

地图下载工具

1 概述 做仿真的&#xff0c;一般都要用到地图。各大地图厂商&#xff0c;都提供了地图测试接口。只不过&#xff0c;这些接口有限制&#xff0c;用多了就容易被封IP。于是我写了一个瓦片地图下载工具&#xff0c;把地图下载到本地&#xff0c;就可以愉快的玩耍了。 2 操作 …

leetcode力扣_贪心思想

455.分发饼干&#xff08;easy-自己想得出来并写好&#xff09; 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺…

MySQL之备份与恢复(七)

备份与恢复 文件系统快照 规划LVM备份 LVM快照备份也是有开销的。服务器写到原始卷的越多&#xff0c;引发的额外开销也越多。当服务器随机修改许多不同块时&#xff0c;磁头需要需要自写时复制空间来来回回寻址&#xff0c;并且将数据的老版本写到写时复制空间。从快照中读…

二进制求和、字符串相加-sting类题型

67. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; 两个题目方法完全一样 用两个数据的末尾位相加&#xff0c;从末尾位开始逐位相加&#xff0c;记录进位&#xff1b; class Solution { public:string addBinary(string a, string b) {int end1 a.size() - 1;int end…

网站封装APP的必要性和实现方法

网站封装APP的必要性 随着移动互联网的普及&#xff0c;越来越多的用户开始使用移动设备来访问网站。但是&#xff0c;传统的网站在移动设备上的浏览体验却远远不能满足用户的需求。网站封装APP正是解决这个问题的有效方法。 网站封装APP可以提供更好的用户体验&#xff0c;提…

GL823K USB 2.0 SD/MSPRO读卡器控制芯片

概述 GL823K是一个USB 2.0单轮读卡器控制芯片&#xff0c;可以支持SD/MMC/MSPRO闪存卡。它支持USB 2.0高速传输&#xff0c;它在一个芯片上可以控制读取诸如安全数字卡&#xff08;SD卡&#xff09;&#xff0c;SDHC卡&#xff0c;迷你SD卡&#xff0c;微SD卡&#xff08;T-Fl…

吴恩达机器学习 第三课 week3 强化学习(月球着陆器自动着陆)

目录 01 学习目标 02 概念 2.1 强化学习 2.2 深度Q学习&#xff08;Deep Q-Learning &#xff09; 03 问题描述 04 算法中的概念及原理 05 月球着陆器自动着陆的算法实现 06 拓展&#xff1a;基于pytorch实现月球着陆器着陆 07 总结 写在最前&#xff1a;关于强化学习…

封锁-封锁模式(共享锁、排他锁)、封锁协议(两阶段封锁协议)

一、引言 1、封锁技术是目前大多数商用DBMS采用的并发控制技术&#xff0c;封锁技术通过在数据库对象上维护锁来实现并发事务非串行调度的冲突可串行化 2、基于锁的并发控制的基本思想是&#xff1a; 当一个事务对需要访问的数据库对象&#xff0c;例如关系、元组等进行操作…

python-21-零基础自学python 写了一个彩票 发现买彩票中了真的是天选

学习内容&#xff1a;《python编程&#xff1a;从入门到实践》第二版 知识点&#xff1a; from random import choice、choice&#xff08;&#xff09;函数用法、while循环 练习内容&#xff1a; 练习9-14&#xff1a;彩票 创建一个列表或元组&#xff0c;其中包含10个数…

算法体系-26 第二十六节:第26节:单调栈结构 (5节)

一 单调栈知识讲解 1.1描述 一个数组里面想的到每个位置与他最近的左边和右边比他小的最近的信息 1.2 分析 通过单调栈的特点&#xff0c;for遍历数组中的每个数&#xff0c;当前数来的时候对比单调栈中的数进行每个数的左右判断完满足条件的进行更新到当前i种的 int[][] re…

S32DS S32 Design Studio for S32 Platform 3.5 窗口多开模式

前言 NXP S32系列的芯片&#xff0c;开发默认使用 S32DS&#xff0c;也就是 S32 Design Studio for S32 Platform&#xff0c;当前版本 S32 Design Studio for S32 Platform 3.5&#xff0c;初步体验像是使用 eclipse&#xff0c;作为代码集成开发环境&#xff0c;比如代码阅读…

Hadoop权威指南-读书笔记-02-关于MapReduce

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 还是老样子~挑重点记录哈&#x1f601;有兴趣的小伙伴可以去看看原著&#x1f60a; 第二章 关于MapReduce MapReduce是一种可用于数据处理的编程模型。 MapReduce程序本质上是并行运行的&#xff0c…

bert-base-chinese模型离线使用案例

import torch import torch.nn as nn from transformers import BertModel, BertTokenizer# 通过torch.hub(pytorch中专注于迁移学的工具)获得已经训练好的bert-base-chinese模型 # model torch.hub.load(huggingface/pytorch-transformers, model, bert-base-chinese) model…

Vivado FFT IP核使用

1. 今日摸鱼任务 学习Vivado FFT IP核的使用 Vivado_FFT IP核 使用详解_vivado fft ip核-CSDN博客 这篇写的很详细啦 简单做一点笔记进行记录 2. FFT IP核 xfft_0 ff (.aclk(aclk), // input wire aclk.aresetn(aresetn)…

Oracle Database 23ai新特性:增加聚合函数对INTERVAL数据类型支持

在Oracle早期的版本&#xff0c;聚合函数和分析函数MIN/MAX 就支持了INTERVAL 数据类型。但是&#xff0c;当我们使用SUM或AVG函数对INTERVAL 数据类型进行运算时&#xff0c;就会报错。 随着Oracle Database 23ai 的发布&#xff0c;增加了 AVG 以及 SUM 函数对INTERVAL 数据…

SQL 汇总各个部门当前员工的title类型的分配数目

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 有一个部门表…

Python实现ABC人工蜂群优化算法优化卷积神经网络分类模型(CNN分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化…