4.python基础语法-下

news2025/3/18 2:52:46

文章目录

  • 1.顺序语句
  • 2.条件语句 - if
    • 2.1什么是条件语句
    • 2.2语法格式
      • 2.2.1`if`
      • 2.2.2`if - else`
      • 2.2.3`if - elif - else`
    • 2.3缩进和代码块
    • 2.4练习
    • 2.5空语句 pass
  • 3.循环语句
    • 3.1while循环
    • 3.2for循环
    • 3.3continue
    • 3.4break
  • 4.综合案例
    • 4.1设置初始属性
    • 4.2设置性别
    • 4.3设置出生点
    • 4.4针对每一岁, 生成人生经历

大家好,我是晓星航。今天为大家带来的是 python基础语法-中 相关的讲解!😀

1.顺序语句

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的.

print("1")
print("2")
print("3")

image-20241210215053725

执行结果一定为 “123”, 而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码, 我们称为 顺序语句.

这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行执行.

就好像人生的顺序, 是上学, 工作, 结婚, 生子. 一旦这里的顺序乱了, 就很麻烦.

2.条件语句 - if

2.1什么是条件语句

条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的 逻辑判定.

条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向.

一个典型的例子:

如果丘处机没有路过牛家村,

  1. 那么金兵不会死在郭, 杨两家手上
  2. 郭, 杨两家就不会流亡北方
  3. 郭夫人就不会去到大漠, 完颜洪烈就不会遇到包惜弱
  4. 郭靖就不会和江南七怪救了铁木真
  5. 蒙古就不会统一
  6. 蒙古铁骑就不会西征
  7. 欧洲就不会出现火药, 也就不会出现文艺复兴, 大航海.
  8. 大炮就不会从欧洲传到日本, 日本得不到统一
  9. 完颜洪烈就不会全力战, 金国内乱
  10. 宋朝不会灭亡, 并诞生出资本主义. 中国成为最发达的国家.
如果 我认真敲代码
   我就很容易找到工作
否则
   我就容易毕业就失业

其中 “我认真敲代码” 称为 条件. 如果条件成立(条件为真), 则会出现 “我就很容易找到工作” 这个情况. 如果条件不成立(条件为假), 则会出现 “我就容易毕业就失业”.

当然, 同样的逻辑, 还可以反着表达.

如果 我选择躺平摆烂
   我就容易毕业就失业
否则
   我就很容易找到工作

虽然结构变了, 但是整体表达的语义是等价的.

2.2语法格式

Python 中使用 if else 关键字表示条件语句.

2.2.1if

if expression:
	do_something1
	do_something2
next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something

如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

2.2.2if - else

if expression:
    do_something1
else:
	do_something2

如果 expression 值为 True, 则执行 do_something1

如果 expression 值为 False, 则执行 do_something2

2.2.3if - elif - else

if expression1:
	do_something1
elif expression2:
	do_something2
else:
	do_something3

如果 expression1 值为 True, 则执行 do_something1

如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2

如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意:Python中的条件语句写法, 和很多编程语言不太一样

  • if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
  • if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了).

示例: 输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂.

while True:
    choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
    if choice == "1":
        print("你会找到好工作!")
    elif choice == "2":
        print("你可能毕业就失业了!")
    else:
        print("你的输入有误!")

image-20241210215000115

2.3缩进和代码块

代码块 指的是一组放在一起执行的代码.

在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的.

# 代码1
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")

image-20241210215147272

# 代码2
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")

image-20241210215215070

注意上述代码的区别,虽然第二个代码我们输入了’2’不是’1’,但是我们程序还是输出了world

在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行.

在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行.

另外, 代码块内部还可以嵌套代码块.

while True:
    a = input("请输入第一个整数: ")
    b = input("请输入第二个整数: ")
    if a == "1":
        if b == "2":
            print("hello")
        print("world")
    print("python")
image-20241210215350039

在这个代码中,

  • print("hello") 具有两级缩进, 属于 if b == "2" 条件成立的代码块.
  • print("world") 具有一级缩进, 属于 if a == "1" 条件成立的代码块.
  • print("python") 没有缩进, 无论上述两个条件是否成立, 该语句都会执行

基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进, 来明确代码之间的相对关系. 如果缩进书写的不对, 则直接报错.

像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.

同时, 带来的坏处就是, 如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级

if a == 1:
    if b == 2:
        if c == 3:
            if d == 4:
                if e == 5:
                    if f == 6:
                        if g == 7:
                   			print("hello")
                        print("1")
                print("2")

请问, 上述代码中的 print(“1”) 和 print(“2”) 属于哪一级缩进?

因此, 就有了 “写 Python 需要自备游标卡尺” 这个梗.

image-20241208174906630

2.4练习

(1) 输入一个整数, 判定是否是奇数

While True:
    a = int(intput("请输入一个整数: "))
    if a % 2 == 0:
        print("偶数")
    else:
        print("奇数")

image-20241210215554585

(2) 输入一个整数, 判定是正数还是负数

while True:
    a = int(input("请输入一个整数: "))
    if a > 0:
        print("正数")
    elif a < 0:
        print("负数")
    else:
        print("为 0")
image-20241210215709472

(3) 判定年份是否是闰年

while True:
    year = int(input("请输入年份: "))
    if year % 100 == 0:
        # 判定世纪闰年
        if year % 400 == 0:
            print("世纪闰年")
        else:
         print("平年")
    else:
        # 判定普通闰年
        if year % 4 == 0:
            print("闰年")
        else:
            print("平年")
image-20241210215815426
while True:
    year = int(input("请输入年份: "))
    if (year % 100 != 0 and year % 4 == 0) or year % 400 == 0:
        print("闰年")
    else:
        print("平年")
image-20241210220016802

2.5空语句 pass

代码示例:输入一个数字, 如果数字为 1, 则打印 hello.

a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")
image-20241210220117577

这个代码也可以等价写成

while True:
    a = int(input("请输入一个整数:"))
    if a != 1:
        pass
    else:
        print("hello")
image-20241210220153968

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求.

如果代码写作

a = int(input("请输入一个整数:"))
if a != 1:
    
else:
	print("hello")

程序是不符合 Python 语法的, 会直接报错.

3.循环语句

有些操作是需要反复执行的. 这种就需要使用循环.

3.1while循环

基本语法格式

while 条件:
    循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假, 则结束循环.

代码示例: 打印 1-10 的整数

num = 1
while num <= 10:
    print(num)
    num += 1
image-20241210220235233

代码示例: 计算 1-100 的和

sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)
image-20241210220300762

代码示例: 计算 5 的阶乘

result = 1
n = 1
while n <= 5:
    result *= n
    n += 1
print(result)
image-20241210220337544

代码示例:求 1! + 2! + 3! + 4! + 5!

num = 1
sum = 0
while num <= 5:
    factorResult = 1
    i = 1
    while i <= num:
        factorResult *= i
        i += 1
    sum += factorResult
    num += 1
print(sum)

image-20241210220435127

这个程序用到了两重循环.

也就是在循环语句中也可以套循环.

3.2for循环

基本语法格式

for 循环变量 in 可迭代对象:
    循环体

注意:

  • python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

代码示例: 打印 1-10

for i in range(1, 11):
    print(i)
image-20241210220556552
  • 使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11), 也就是 [1, 10]image-20241210220926991

代码示例: 打印 2, 4, 6, 8, 10

for i in range(2, 12, 2):
    print(i)
image-20241210220954210
  • 通过 range 的第三个参数, 可以指定迭代时候的 “步长”. 也就是一次让循环变量加几.

代码示例: 打印 10-1

for i in range(10, 0, -1):
    print(i)
  • range 的 步长 也可以设定成负数.
image-20241210221016991

代码示例: 求 1 - 100 的和

sum = 0
for i in range(1, 101):
    sum += i
print(sum)
image-20241210221034303

3.3continue

continue 表示结束这次循环, 进入下次循环.

代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了一只虫.

for i in range(1, 6):
    if i == 3:
        continue
    print(f"吃完第 {i} 个包子")
image-20241210221116193

3.4break

break 表示结束整个循环

代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了半只虫

for i in range(1, 6):
    if i == 3:
        break
    print(f"吃完第 {i} 个包子")
image-20241210221150193

代码示例: 输入若干个数字, 求平均值. 使用 “分号” 作为结尾.

sum = 0
count = 0
while True:
    num = input("请输入数字:")
    if num == ';':
        break
    num = float(num)
    sum += num
    count += 1
print(sum / count)
image-20241210221752892

4.综合案例

实现 “人生重开模拟器”

这是一款之前很火的文字类小游戏. 玩家输入角色的初始属性之后, 就可以开启不同的人生经历.

大家可以在网上搜索 “人生重开模拟器”, 就可以玩到这个游戏的各种版本.

完整的程序代码较多, 此处我们只实现其中的一部分逻辑.

4.1设置初始属性

在游戏中我们设定四个属性

  • 颜值 (face)
  • 体质 (strong)
  • 智力 (iq)
  • 家境 (home)

我们约定每个属性的范围为 [1, 10], 并且总和不能超过 20.

如果玩家输入的初始属性不合理, 就提示输入有误, 重新输入.

print("+---------------------------------------------------------------------+")
print("|                                                                     |")
print("|                   花有重开日, 人无再少年                               |")
print("|                                                                     |")
print("|                   欢迎来到, 人生重开模拟器                             |")
print("|                                                                     |")
print("+---------------------------------------------------------------------+")
# 设置初始属性
while True:
    print("请设定初始属性(可用总点数 20)")
    face = int(input("设定 颜值(1-10):"))
    strong = int(input("设定 体质(1-10):"))
    iq = int(input("设定 智力(1-10):"))
    home = int(input("设定 家境(1-10):"))
    if face < 1 or face > 10:
        print("颜值设置有误!")
        continue
    if strong < 1 or strong > 10:
        print("体质设置有误!")
        continue
    if iq < 1 or iq > 10:
        print("智力设置有误!")
        continue
    if home < 1 or home > 10:
        print("家境设置有误!")
        continue
        if face + strong + iq + home > 20:
        print("总点数超过了 20!")
        continue
    print("初始属性设定完成!")
    break

image-20241210225004335

4.2设置性别

通过 random.randint(1, 6) 生成一个 [1, 6] 的随机整数, 类似于掷色子.

  • 如果是单数, 则性别设为男孩
  • 如果是双数, 则性别设为女孩.

男孩和女孩会遇到不同的事件.

point = random.randint(1, 6) # 掷色子
if point % 2 == 1:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = 'girl'
    print("你是个女孩")

4.3设置出生点

首先按照家境(home), 分成四个档位

  • 10 是第一档. 加成最高
  • [7, 9] 是第二档. 也有一些加成
  • [4, 6] 是第三档. 加成较少
  • [1, 3] 是第四档. 会扣掉属性.

再扔一次色子, 生成 [1, 3] 的随机数, 用来表示每一种细分情况

这里的代码主要就是各种 if else 构成.

point = random.randint(1, 3) # 掷色子
if home == 10:
    print('你出生在帝都, 你的父母是高官政要')
    home += 1
    iq += 1
    face += 1
elif 7 <= home <= 9:
    if point == 1:
        print('你出生在大城市, 你的父母是公务员')
        face += 2
    elif point == 2:
        print('你出生在大城市, 你的父母是大企业高管')
        home += 2
    else:
     print('你出生在大城市, 你的父母是大学教授')
        iq += 2
elif 4 <= home <= 6:
    if point == 1:
        print('你出生在三线城市, 你的父母是教师')
        iq += 1
    elif point == 2:
        print('你出生在镇上, 你的父母是医生')
        strong += 1
    else:
        print("你出生在镇上, 你的父母是个体户")
        home += 1
else:
    if 1 <= point <= 2:
        print('你出生在村里, 你的父母是辛苦劳作的农民')
        strong += 1
        face -= 2
    elif 3 <= point <= 4:
        print('你出生在穷乡僻壤, 你的父母是无业游民')
        home -= 1
    else:
        print('你出生在镇上, 你父母感情不和')
        strong -= 1

4.4针对每一岁, 生成人生经历

按照年龄, 把人生经历分成四个阶段:

  • 幼年阶段 [1, 10]
  • 青年阶段 [11, 20]
  • 壮年阶段 [20, 50]
  • 老年阶段 50 岁以上

每个阶段都会有不同的精力和事件发生

  • 幼年阶段可塑性强, 体质, 颜值, 智力都会有较快变化
  • 青年阶段主要是求学, 同时父母一辈会有明显变化, 智力和家境会有明显变化.
  • 壮年阶段相对平稳, 属性变化不大, 主要是一些随机事件影响到属性.
  • 老年阶段体质, 颜值, 智力都会显著退化, 并且随着年龄的上升, 疾病/死亡的风险逐渐升高.

此处我们以幼年为例, 简单实现一下这里的处理逻辑

  • 使用 for 循环, 按照年龄循环起来.
  • 针对每一年, 先掷一次 [1, 3] 的色子, 根据不同的随机数值, 来触发不同的事件.
  • 根据性别, 年龄, 各种属性, 来触发不同的事件. 这里都使用 if - else 的方式来组织.
  • 不同的事件可能会对属性有正面/负面的影响.
  • 在每一年的最后, 打印这一年遇到的事情.
  • 如果夭折, 则直接 sys.exit(0) 退出程序.
  • 使用 time.sleep(1) 使程序暂停执行 1s, 方便观察程序结果.
for age in range(1, 11):
    info = f'你今年 {age} 岁, '
    point = random.randint(1, 3)
    # 性别触发事件
    if gender == 'girl' and home <= 3 and point == 1:
        info += '你家里人重男轻女思想非常严重, 你被遗弃了!'
        print(info)
        print("游戏结束!")
        sys.exit(0)
    # 体质触发的事件
    elif strong < 6 and point != 3:
        info += '你生了一场病, '
        if home >= 5:
            info += '在父母的精心照料下恢复了健康'
            strong += 1
            home -= 1
        else:
            info += '你的父母没精力管你, 你的身体状况更糟糕了'
            strong -= 1
    # 颜值触发的事件
    elif face < 4 and age >= 7:
        info += '你因为长的太丑, 别的小朋友不喜欢你, '
        if iq > 5:
            info += '你决定用学习填充自己'
            iq += 1
        else:
            if gender == 'boy':
                info += '你和别的小朋友经常打架'
                iq -= 1
                strong += 1
            else:
                info += '你经常被别的小朋友欺负'
                strong -= 1
    # 智商触发的事件
    elif iq < 5:
        info += '你看起来傻傻的, '
        if home >= 8 and age >= 6: 
            info += '你的父母给你送到更好的学校学习'
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动, 加强身体素质'
                strong += 1
            else:
                info += '你的父母鼓励你多打扮自己'
                face += 1
        else:
            info += '你的父母为此经常吵架'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
    # 健康成长
    else:
        info += '你健康成长, '
        if point == 1:
         info += '看起来更聪明了'
            iq += 1
        elif point == 2:
            info += '看起来更好看了'
            face += 1
        else:
            info += '看起来更结实了'
            strong += 1
    print('-------------------------------------------')
    print(info)
    print(f'strong={strong}, face={face}, iq={iq}, home={home}')
    time.sleep(1)

更多的逻辑, 此处就不再实现了. 大家可以按照类似的方式, 设计更多的事件, 完成 青年, 壮年, 老年的相关逻辑.

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

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

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

相关文章

Java--集合(理论)

目录 一、collection collection常用方法 1.List&#xff08;可以存在重复元素&#xff09; 迭代器 迭代器的概念 注意事项 例子 1.ArrayList 特点 2.LinkedLIst 特点 3.Vector 特点 2.Set&#xff08;无重复元素&#xff09; 1.HashSet 特点 2.Linkedhashset&…

3D图形学与可视化大屏: 3D 图形学的定义、应用领域和发展历程

一、3D 图形学的定义 3D 图形学是计算机科学的一个分支&#xff0c;主要研究如何在计算机上生成、处理和显示三维图形。它涉及到数学、物理学、计算机科学等多个学科领域&#xff0c;旨在通过计算机技术模拟真实世界中的三维物体和场景&#xff0c;为用户提供逼真的视觉体验。…

Python 面向对象(类,对象,方法,属性,魔术方法)

前言&#xff1a;在讲面向对象之前&#xff0c;我们先将面向过程和面向对象进行一个简单的分析比较&#xff0c;这样我们可以更好的理解与区分&#xff0c;然后我们在详细的讲解面向对象的优势。 面向过程&#xff08;Procedure-Oriented Programming&#xff0c;POP&#xff0…

轮子项目--消息队列的实现(3)

上一篇文章中我把一些关键的类以及表示出来&#xff0c;如何对这些类对应的对象进行管理呢&#xff1f;管理分为硬盘和内存上&#xff0c;硬盘又分为数据库&#xff08;管理交换机&#xff0c;队列和绑定&#xff09;和文件&#xff08;管理消息&#xff09;&#xff0c;本文就…

5.7.1 软件项目管理范围、成本估算、风险分析

文章目录 管理范围成本估算风险分析 管理范围 软件项目管理范围包含4P&#xff0c;即人员、产品、过程、项目。人员管理通过人员能力成熟度模型PCMM进行管理。产品管理需要制定产品目标&#xff0c;识别产品的总体目标&#xff0c;而不涉及细枝末节。产品范围&#xff0c;识别产…

Android新版高斯模糊(毛玻璃)官方实现,Kotlin

Android新版高斯模糊(毛玻璃)官方实现&#xff0c;Kotlin 从Android 12开始&#xff0c;Android官方API支持高斯模糊(毛玻璃)效果。关键是通过RenderEffect实现。 https://developer.android.com/reference/android/graphics/RenderEffecthttps://developer.android.com/refer…

仿 RabbitMQ 实现的简易消息队列

文章目录 项目介绍开放环境第三⽅库介绍ProtobufMuduo库 需求分析核⼼概念实现内容 消息队列系统整体框架服务端模块数据管理模块虚拟机数据管理模块交换路由模块消费者管理模块信道&#xff08;通信通道&#xff09;管理模块连接管理模块 客户端模块 公共模块日志类其他工具类…

实验9 基于WebGoat平台的SQL注入攻击

实验9 基于WebGoat平台的SQL注入攻击 1.实验目的 熟悉WebGoat平台&#xff0c;在该平台上实现SQL注入攻击。 2.实验内容 &#xff08;1&#xff09;下载webgoat-server-8.2.2.jar。 &#xff08;2&#xff09;搭建java环境。 &#xff08;3&#xff09;运行webgoat。 &#xf…

多光谱技术在华为手机上的应用发展历史

2018 年&#xff0c;华为 P20 系列首次搭载 5 通道色温传感器&#xff0c;可帮助手机在不同光照条件下保持画面色彩一致性。 2020 年&#xff0c;华为 P40 系列搭载 8 通道多光谱色温传感器&#xff08;实际为 11 通道&#xff0c;当时只用 8 个通道检测可见光&#xff09;&am…

如何免费白嫖 Deepseek API 接口

今天我将教大家如何利用网络空间测绘搜索引擎「Fofa」来寻找已经部署并开放 Deepseek 接口的服务。以下是详细步骤&#xff1a; 1. 访问 Fofa 搜索引擎 首先&#xff0c;打开 Fofa 搜索引擎的网站&#xff1a;https://fofa.info 2. 搜索开放的 Deepseek 接口 在搜索框中输入…

SaaS+AI应用架构:业务场景、智能体、大模型、知识库、传统工具系统

SaaSAI应用架构&#xff1a;业务场景、智能体、大模型、知识库、传统工具系统 大家好&#xff0c;我是汤师爷~ 在SaaS与AI应用的演进过程中&#xff0c;合理的架构设计至关重要。本节将详细介绍其五个核心层次&#xff1a; 业务场景层&#xff1a;发现和确定业务场景智能体层…

ios通过xib创建控件

之前写过ios动态创建控件及添加事件&#xff0c;纯手工代码写控件&#xff0c;虽然比较灵活&#xff0c;但是就是代码量比较多。这次我们通过xib来创建app下载列表项 AppView.xib。一个imageview,一个label,一个button构成 1.创建AppView.xib 2.再创建xib对应的mode&#xff0…

【树莓派Pico设备驱动】-WS2812B全彩LED驱动(基于SPI)

WS2812B全彩LED驱动(基于SPI) 文章目录 WS2812B全彩LED驱动(基于SPI)1、WS2812介绍2、WS2812配置4、驱动实现1、WS2812介绍 WS2812/WS2812B LED 使用 24 位来表示绿色、红色和蓝色值。 WS2812采用单线通信的设计,通信协议为非归零编码,每个LED需要24个bit的数据,数据依…

AIGC-微头条爆款文案创作智能体完整指令(DeepSeek,豆包,千问,Kimi,GPT)

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资…

2025届优秀创新大数据毕业设计

吊打导师的大数据毕业设计项目 985华南理工大学学长 大厂全栈&#xff0c;大数据开发工程师 专注定制化开发

解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题

解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题 1. 安装ComfyUI-Impact-Pack 首先确保ComfyUI-Impact-Pack 已经下载 地址: https://github.com/ltdrdata/ComfyUI-Impact-Pack 2. 安装ComfyUI-Impact-Subpack 由于新版本的Impact Pack 不再提供这…

SpringBoot中的Javaconfig

为什么要使用Javaconfig&#xff1f; 如果要声明的bean对象&#xff0c;来自于第三方jar包&#xff08;不是自定义的&#xff09;&#xff0c;无法使用Component 及衍生注解来声明bean&#xff0c;因为第三方的jar一般不可写&#xff0c;需要使用注解Configuration和Bean注解来…

【前端】几种常见的跨域解决方案代理的概念

几种常见的跨域解决方案&代理的概念 一、常见的跨域解决方案1. 服务端配置CORS&#xff08;Cross-Origin Resource Sharing&#xff09;&#xff1a;2. Nginx代理3. Vue CLI配置代理&#xff1a;4 .uni-app在manifest.json中配置代理来解决&#xff1a;5. 使用WebSocket通讯…

Windows11+PyCharm利用MMSegmentation训练自己的数据集保姆级教程

系统版本&#xff1a;Windows 11 依赖环境&#xff1a;Anaconda3 运行软件&#xff1a;PyCharm 一.环境配置 通过Anaconda Prompt(anaconda)打开终端创建一个虚拟环境 conda create --name mmseg python3.93.激活虚拟环境 conda activate mmseg 4.安装pytorch和cuda tor…

基于java手机销售网站设计和实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…