备赛蓝桥杯-Python-考前突击
额,,离蓝桥杯开赛还有十个小时,最近因为考研复习节奏的问题,把蓝桥杯的优先级后置了,突然才想起来还有一个蓝桥杯呢。。
到目前为止python基本语法熟练了,再补充一些常用函数供明天考前再背背,算法来不及看了,eh,嘿嘿...祝友友们都能拿省一!
一、字符串
1.ASCII码函数
print(ord('L')-ord('A')+65)
ord()函数可以将字符转换为对应的ASCII码,chr()函数可以将ASCII码转换为对应的字符
2.字母大小写函数
upper() 方法
upper() 方法将字符串中的所有小写字母转换为大写字母。
lower() 方法
lower() 方法将字符串中的所有大写字母转换为小写字母。
capitalize() 方法
capitalize() 方法将字符串的第一个字母转换为大写,其余字母转换为小写。
title() 方法
title() 方法将每个单词的首字母转换为大写,其余字母转换为小写。
3.分割函数
str.split(sep=None,maxsplit=-1)
表示:使用sep子字符串分割字符串str。maxsplit是最大分割次数
str.rsplit(sep=None,maxsplit=-1)
表示:从右到左分割字符串
4.字符串列表转int列表
list = [ int(i) for i in str]
二、时间函数
datetime.datetime 函数说明
datetime.datetime 是 Python 中 datetime 模块的一个类,用于处理日期和时间。通过该类可以创建一个包含日期和时间的对象。
-
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)创建一个日期时间对象,参数包括年、月、日、时、分、秒和微秒。例如:datetime.datetime(1970, 1, 1, 0, 0, 0) # 表示纪元时间起点
常用日期和时间函数总结
1. 日期时间的创建与解析
-
datetime.datetime.now()获取当前的日期和时间。now = datetime.datetime.now()
-
datetime.datetime.strptime(date_string, format)将字符串按指定格式解析为datetime对象。dt = datetime.datetime.strptime("2023-10-01 12:30:45", "%Y-%m-%d %H:%M:%S")
-
datetime.datetime.strftime(format)将datetime对象格式化为字符串。formatted = dt.strftime("%Y-%m-%d %H:%M:%S")
2. 日期时间的运算
-
datetime.timedelta表示两个日期或时间之间的差值,支持加减运算。delta = datetime.timedelta(days=1, hours=2, minutes=30) new_time = datetime.datetime.now() + delta
-
datetime.datetime.timestamp()将datetime对象转换为时间戳(自纪元时间以来的秒数)。timestamp = datetime.datetime.now().timestamp()
-
datetime.datetime.fromtimestamp(timestamp)将时间戳转换为datetime对象。dt = datetime.datetime.fromtimestamp(1696138245)
3. 日期时间的属性
-
year,month,day,hour,minute,second,microsecond获取datetime对象的各个部分。dt = datetime.datetime.now() print(dt.year, dt.month, dt.day)
-
weekday()和isoweekday()获取星期几,weekday()返回 0(周一)到 6(周日),isoweekday()返回 1(周一)到 7(周日)。print(dt.weekday(), dt.isoweekday())
4. 其他常用功能
-
datetime.date.today()获取当前日期(不包含时间)。today = datetime.date.today()
-
datetime.time(hour=0, minute=0, second=0, microsecond=0)创建一个时间对象。t = datetime.time(12, 30, 45)
-
datetime.datetime.combine(date, time)将日期和时间组合成一个datetime对象。combined = datetime.datetime.combine(datetime.date.today(), datetime.time(12, 30))
用一道真题融会贯通
问题描述
小蓝发现了一个神奇的闹钟,从纪元时间(19701970 年 11 月 11 日 00:00:0000:00:00)开始,每经过 xx 分钟,这个闹钟便会触发一次闹铃 (纪元时间也会响铃)。这引起了小蓝的兴趣,他想要好好研究下这个闹钟。
对于给出的任意一个格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss 的时间,小蓝想要知道在这个时间点之前 (包含这个时间点) 的最近的一次闹铃时间是哪个时间?
注意,你不必考虑时区问题。
输入格式
输入的第一行包含一个整数 TT,表示每次输入包含 TT 组数据。
接下来依次描述 TT 组数据。
每组数据一行,包含一个时间(格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss)和一个整数 xx,其中 xx 表示闹铃时间间隔(单位为分钟)。
输出格式
输出 TT 行,每行包含一个时间(格式为 уууу-MM-ddHH:mm:ssуууу-MM-ddHH:mm:ss),依次表示每组数据的答案。
样例输入
2
2016-09-07 18:24:33 10
2037-01-05 01:40:43 30
样例输出
2016-09-07 18:20:00
2037-01-05 01:30:00
评测用例规模与约定
对于所有评测用例,1≤T≤10,1≤x≤10001≤T≤10,1≤x≤1000,保证所有的时间格式都是合法的。
思路
当作练习日期的函数很好
思路就是:用输入的时间和1970这个日期的差值对闹铃时间间隔取余,由此得到输入的时间和上一次闹铃响的时刻的时间差值(分钟),减去就行
关键点在于掌握时间函数的用法。
代码
import datetimen = int(input())
for _ in range(n):time = input().rsplit(" ", 1)delt = int(time[1])oratime = datetime.datetime.strptime('1970-01-01 00:00:00', '%Y-%m-%d %H:%M:%S')nowtime = datetime.datetime.strptime(time[0], '%Y-%m-%d %H:%M:%S')x = (nowtime - oratime) % datetime.timedelta(minutes=delt)finaltime = nowtime - xprint(finaltime)
三、 常用排序函数
sorted()函数
-
功能: 返回一个新的排序后的列表。
-
参数:
-
iterable: 可迭代对象(如列表、元组等)。 -
key(可选): 一个函数,用于从每个元素中提取比较键。 -
reverse(可选): 布尔值,True表示降序排序,默认为False(升序)。
-
# 示例
numbers = [5, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 2, 5, 5, 6, 9]# 使用 key 参数
words = ["banana", "apple", "cherry"]
sorted_words = sorted(words, key=len)
print(sorted_words) # 输出: ['apple', 'banana', 'cherry']# 降序排序
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc) # 输出: [9, 6, 5, 5, 2, 1]
list.sort() 方法
-
功能: 对列表进行原地排序。
-
参数:
-
key(可选): 一个函数,用于从每个元素中提取比较键。 -
reverse(可选): 布尔值,True表示降序排序,默认为False(升序)。
-
# 示例
numbers = [5, 2, 9, 1, 5, 6]
numbers.sort()
print(numbers) # 输出: [1, 2, 5, 5, 6, 9]
# 使用 key 参数
words = ["banana", "apple", "cherry"]
words.sort(key=len)
print(words) # 输出: ['apple', 'banana', 'cherry']
# 降序排序
numbers.sort(reverse=True)
print(numbers) # 输出: [9, 6, 5, 5, 2, 1]
四、 蓝桥杯其它常用函数
(1) 输入输出
-
input(): 从标准输入读取一行数据。 -
print(): 将数据输出到标准输出。
(2) 字符串操作
-
str.split(separator): 将字符串按指定分隔符分割成列表。 -
str.join(iterable): 将可迭代对象中的元素连接成一个字符串。 -
str.strip(): 去除字符串两端的空白字符。 -
str.splitlines(): 按行分割字符串。
# 示例
text = "a b c\nd e f"
lines = text.splitlines()
print(lines) # 输出: ['a b c', 'd e f']
words = "a,b,c".split(",")
print(words) # 输出: ['a', 'b', 'c']
joined = " ".join(words)
print(joined) # 输出: 'a b c'
(3) 列表操作
-
list.append(element): 在列表末尾添加一个元素。 -
list.extend(iterable): 将可迭代对象中的所有元素添加到列表末尾。 -
list.insert(index, element): 在指定位置插入一个元素。 -
list.remove(element): 删除列表中第一个匹配的元素。 -
list.pop([index]): 删除并返回指定位置的元素,默认为最后一个元素。 -
list.index(element): 返回元素在列表中的第一个匹配索引。 -
list.count(element): 返回元素在列表中出现的次数。 -
list.sort(): 对列表进行原地排序。 -
list.reverse(): 反转列表中的元素顺序。
# 示例
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # 输出: [1, 2, 3, 4]
numbers.extend([5, 6])
print(numbers) # 输出: [1, 2, 3, 4, 5, 6]
numbers.insert(0, 0)
print(numbers) # 输出: [0, 1, 2, 3, 4, 5, 6]
numbers.remove(3)
print(numbers) # 输出: [0, 1, 2, 4, 5, 6]
popped = numbers.pop()
print(popped) # 输出: 6
print(numbers) # 输出: [0, 1, 2, 4, 5]
index = numbers.index(2)
print(index) # 输出: 2
count = numbers.count(1)
print(count) # 输出: 1
numbers.sort(reverse=True)
print(numbers) # 输出: [4, 2, 1, 0]
numbers.reverse()
print(numbers) # 输出: [0, 1, 2, 4]
(4) 数组操作
-
array.array(typecode, initializer): 创建一个数组对象。 -
array.append(x): 在数组末尾添加一个元素。 -
array.extend(iterable): 将可迭代对象中的所有元素添加到数组末尾。 -
array.insert(i, x): 在指定位置插入一个元素。 -
array.remove(x): 删除数组中第一个匹配的元素。 -
array.pop([i]): 删除并返回指定位置的元素,默认为最后一个元素。 -
array.index(x): 返回元素在数组中的第一个匹配索引。 -
array.count(x): 返回元素在数组中出现的次数。
import array
# 示例
arr = array.array('i', [1, 2, 3])
arr.append(4)
print(arr) # 输出: array('i', [1, 2, 3, 4])
arr.extend([5, 6])
print(arr) # 输出: array('i', [1, 2, 3, 4, 5, 6])
arr.insert(0, 0)
print(arr) # 输出: array('i', [0, 1, 2, 3, 4, 5, 6])
arr.remove(3)
print(arr) # 输出: array('i', [0, 1, 2, 4, 5, 6])
popped = arr.pop()
print(popped) # 输出: 6
print(arr) # 输出: array('i', [0, 1, 2, 4, 5])
index = arr.index(2)
print(index) # 输出: 2
count = arr.count(1)
print(count) # 输出: 1
(5) 集合操作
-
set(): 创建一个集合对象。 -
set.add(element): 添加一个元素到集合。 -
set.update(iterable): 将可迭代对象中的所有元素添加到集合。 -
set.remove(element): 删除集合中指定的元素。 -
set.discard(element): 删除集合中指定的元素,如果不存在则不报错。 -
set.pop(): 删除并返回集合中的一个元素。 -
set.clear(): 清空集合。 -
set.union(iterable): 返回两个集合的并集。 -
set.intersection(iterable): 返回两个集合的交集。 -
set.difference(iterable): 返回两个集合的差集。 -
set.symmetric_difference(iterable): 返回两个集合的对称差集。
# 示例
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.add(4)
print(set1) # 输出: {1, 2, 3, 4}
set1.update([5, 6])
print(set1) # 输出: {1, 2, 3, 4, 5, 6}
set1.remove(3)
print(set1) # 输出: {1, 2, 4, 5, 6}
set1.discard(7) # 不会报错
print(set1) # 输出: {1, 2, 4, 5, 6}
popped = set1.pop()
print(popped) # 输出: 1 或其他元素
print(set1) # 输出: {2, 4, 5, 6}
set1.clear()
print(set1) # 输出: set()
union_set = set1.union(set2)
print(union_set) # 输出: {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set) # 输出: set()
difference_set = set1.difference(set2)
print(difference_set) # 输出: set()
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set) # 输出: {3, 4, 5}
(6) 字典操作
-
dict(): 创建一个字典对象。 -
dict[key] = value: 添加或更新键值对。 -
dict.get(key, default=None): 获取指定键的值,如果不存在则返回默认值。 -
dict.pop(key, default=None): 删除并返回指定键的值,如果不存在则返回默认值。 -
dict.keys(): 返回字典中所有键的视图。 -
dict.values(): 返回字典中所有值的视图。 -
dict.items(): 返回字典中所有键值对的视图。 -
dict.update(iterable): 将可迭代对象中的键值对更新到字典。 -
dict.clear(): 清空字典。
# 示例
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3
print(my_dict) # 输出: {'a': 1, 'b': 2, 'c': 3}
value = my_dict.get('b')
print(value) # 输出: 2
popped_value = my_dict.pop('a')
print(popped_value) # 输出: 1
print(my_dict) # 输出: {'b': 2, 'c': 3}
keys = my_dict.keys()
print(keys) # 输出: dict_keys(['b', 'c'])
values = my_dict.values()
print(values) # 输出: dict_values([2, 3])
items = my_dict.items()
print(items) # 输出: dict_items([('b', 2), ('c', 3)])
my_dict.update({'d': 4})
print(my_dict) # 输出: {'b': 2, 'c': 3, 'd': 4}
my_dict.clear()
print(my_dict) # 输出: {}
(7) 数学运算
-
math模块:-
math.ceil(x): 向上取整。 -
math.floor(x): 向下取整。 -
math.sqrt(x): 计算平方根。 -
math.pow(x, y): 计算 x 的 y 次方。 -
math.log(x, base): 计算以 base 为底的对数。 -
math.sin(x),math.cos(x),math.tan(x): 三角函数。 -
math.factorial(x): 计算阶乘。 -
math.gcd(a, b): 计算最大公约数。
-
import math
# 示例
x = 3.7
print(math.ceil(x)) # 输出: 4
print(math.floor(x)) # 输出: 3
y = 16
print(math.sqrt(y)) # 输出: 4.0
print(math.pow(2, 3)) # 输出: 8.0
print(math.log(10, 10)) # 输出: 1.0
print(math.sin(math.pi / 2)) # 输出: 1.0
print(math.factorial(5)) # 输出: 120
print(math.gcd(12, 18)) # 输出: 6
相关文章:
备赛蓝桥杯-Python-考前突击
额,,离蓝桥杯开赛还有十个小时,最近因为考研复习节奏的问题,把蓝桥杯的优先级后置了,突然才想起来还有一个蓝桥杯呢。。 到目前为止python基本语法熟练了,再补充一些常用函数供明天考前再背背,算…...
零基础开始学习鸿蒙开发-智能家居APP离线版介绍
目录 1.我的小屋 2.查找设备 3.个人主页 前言 好久不发博文了,最近都忙于面试,忙于找工作,这段时间终于找到工作了。我对鸿蒙开发的激情依然没有减退,前几天做了一个鸿蒙的APP,现在给大家分享一下! 具体…...
不再卡顿!如何根据使用需求挑选合适的电脑内存?
电脑运行内存多大合适?在选购或升级电脑时,除了关注处理器的速度、硬盘的容量之外,内存(RAM)的大小也是决定电脑性能的一个重要因素。但究竟电脑运行内存多大才合适呢?这篇文章将帮助你理解不同使用场景下适…...
华为云 云化数据中心 CloudDC | 架构分析与应用场景
云化数据中心 CloudDC 云化数据中心 (CloudDC)是一种满足传统DC客户云化转型诉求的产品,支持将客户持有服务器设备部署至华为云机房,通过外溢华为云的基础设施管理、云化网络、裸机纳管、确定性运维等能力,帮助客户DC快速云化转型。 云化数据…...
【射频仿真学习笔记】变压器参数的Mathematica计算以及ADS仿真建模
变压器模型理论分析 对于任意的无源电路或者等效电路,当画完原理图后,能否认为已经知道其中的两个节点?vin和vout之间的明确解析解 是否存在一个通用的算法,将这里的所有元素都变成了符号,使得这个算法本身就是一个函…...
Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程
今天和大家分享一款在 G 站获得了 26K的强大的开源在线协作笔记软件,Trilium Notes 的中文版如何在 Linux 环境使用 docker 本地部署,并结合 cpolar 内网穿透工具配置公网地址,轻松实现远程在线协作的详细教程。 Trilium Notes 是…...
C++基础精讲-01
1C概述 1.1初识C 发展历程: C 由本贾尼・斯特劳斯特卢普在 20 世纪 70 年代开发,它在 C 语言的基础上增加了面向对象编程的特性,最初被称为 “C with Classes”,后来逐渐发展成为独立的 C 语言。 语言特点 (1&#x…...
为什么Java不支持多继承?如何实现多继承?
一、前言 Java不支持多继承(一个类继承多个父类)主要出于文中设计考虑;核心目的是简化语言复杂性并避免潜在的歧义性问题。 二、直接原因:菱形继承/钻石继承问题(Diamond Problem) 假设存在如下继承关系&…...
E8流程多行明细行字符串用I分隔,赋值到主表
需求:明细行摘要字段赋值到主表隐藏字段,隐藏摘要字段在标题中显示 代码如下,代码中的获取字段名获取方式,自行转换成jQuery("#fieldid").val()替换。 //1:参数表单id 2:流程字段名 3:0代表主表,1代表明细…...
QML面试笔记--UI设计篇04交互控件
1. QML中常用交互控件 1.1. Button1.2. Slider1.3. ProgressBar1.4. TextField1.5. TextArea1.6. ComboBox1.7. CheckBox1.8. RadioButton1.9. Menu1.10. Dialog 1. QML中常用交互控件 在万物互联的智能时代,QML凭借其声明式语法和跨平台能力,…...
[特殊字符] Spring Boot 日志系统入门博客大纲(适合初学者)
一、前言 📌 为什么日志在项目中如此重要? 在开发和维护一个后端系统时,日志就像程序运行时的“黑匣子”,帮我们记录系统的各种行为和异常。一份良好的日志,不仅能帮助我们快速定位问题,还能在以下场景中…...
【人工智能】AI大模型开发数学基础指南
目录 学习内容**1. 线性代数****2. 概率与统计****3. 微积分****4. 优化理论****5. 信息论****6. 数值计算****7. 离散数学****8. 统计学进阶****如何学习?****总结** 如何学习**1. 明确学习目标****2. 分阶段学习计划****阶段 1:夯实基础****阶段 2&…...
Express中间件(Middleware)详解:从零开始掌握(1)
1. 中间件是什么? 想象中间件就像一个"加工流水线",请求(Request)从进入服务器到返回响应(Response)的过程中,会经过一个个"工作站"进行处理。 简单定义:中间件是能够访问请求对象(req)、响应对象(res)和下…...
STM32单片机中EXTI的工作原理
目录 1. EXTI概述 2. EXTI的组成部分 3. 工作原理 3.1 引脚配置 3.2 中断触发条件 3.3 中断使能 3.4 中断处理 4. 使用示例 5. 注意事项 结论 在STM32单片机中,EXTI(外部中断)是一种用于处理外部事件的机制,能够提高对硬…...
现代工业测试的核心支柱:电机试验工作台?(北重机械厂家)
电机试验工作台是现代工业测试中的核心支柱之一。这种工作台通常用于对各种类型的电机进行性能测试、负载测试和耐久性测试。通过电机试验工作台,工程师可以评估电机的效率、功率输出、转速、扭矩、温度等关键参数,从而确保电机的设计符合要求࿰…...
oracle 11g密码长度和复杂度查看与设置
verify_function_11G 的密码复杂性要求: 密码长度至少为 8 个字符。 密码必须包含至少一个数字和一个字母字符。 密码不能与用户名相同或相似。 密码不能是服务器名或其变体。 密码不能是常见的弱密码(如 welcome1、oracle123 等)。 注意事项&…...
CVE-2025-32375 | Windows下复现 BentoML runner 服务器远程命令执行漏洞
目录 1. 漏洞描述2. 漏洞复现1. 安装 BentoML 1.4.72. 创建模型3. 构建模型4. 托管模型5. 执行exp 3. POC4. 补充学习 参考链接: https://mp.weixin.qq.com/s/IxLZr83RvYqfZ_eXhtNvgg https://github.com/bentoml/BentoML/security/advisories/GHSA-7v4r-c989-xh26 …...
某局jsvmp算法分析(dunshan.js/lzkqow23819/lzkqow39189)
帮朋友看一个税某局的加密算法。 传送门 (需要帐号登陆的 普通人没授权也看不了) 废话不多说直接抓包开干 这里可以看到一个headers中的加密参数 lzkqow23819 以及url路径里面的6eMrZlPH(这个有点像瑞数里面的) 还有就是cookies里面的这几个…...
深入剖析 Kafka 的零拷贝原理:从操作系统到 Java 实践
Kafka 作为一款高性能的分布式消息系统,其卓越的吞吐量和低延迟特性得益于多种优化技术,其中“零拷贝”(Zero-Copy)是核心之一。零拷贝通过减少用户态与内核态之间的数据拷贝,提升了 Kafka 在消息传输中的效率。本文将…...
AlmaLinux9.5 修改为静态IP地址
查看当前需要修改的网卡名称 ip a进入网卡目录 cd /etc/NetworkManager/system-connections找到对应网卡配置文件进行修改 修改配置 主要修改ipv4部分,改成自己的IP配置 [ipv4] methodmanual address1192.168.252.129/24,192.168.252.254 dns8.8.8.8重启网卡 …...
内联函数通常定义在头文件中的原因详解
什么是内联函数? 内联函数(inline function)是C中的一种函数优化机制,通过在函数声明前加上inline关键字,建议编译器将函数调用替换为函数体本身的代码,从而减少函数调用的开销。 为什么内联函数需要定义…...
操作系统 4.4-从生磁盘到文件
文件介绍 操作系统中对磁盘使用的第三层抽象——文件。这一层抽象建立在盘块(block)和文件(file)之间,使得用户可以以更直观和易于理解的方式与磁盘交互,而无需直接处理磁盘的物理细节如扇区(se…...
免费多语言文档翻译软件推荐
软件介绍 今天给大家介绍一款文档翻译助手。它能够支持PDF、Word等多种文档格式,涵盖中文、英文、日语等多语言互译。此软件在翻译过程中精选保留文档原貌,每段文字、每个图表的匹配都十分完美,还依托顶尖翻译大模型,让翻译结果符…...
安全序列(DP)
#include <bits/stdc.h> using namespace std; const int MOD1e97; const int N1e65; int f[N]; int main() {int n,k;cin>>n>>k;f[0]1;for(int i1;i<n;i){f[i]f[i-1]; // 不放桶:延续前一位的所有方案if(i-k-1>0){f[i](f[i]f[i-k…...
【Flask开发】嘿马文学web完整flask项目第4篇:4.分类,4.分类【附代码文档】
教程总体简介:2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 1.5数据库设计 2.用户认证 Json Web Token(JWT) 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目…...
SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用
SQL 是一种至关重要的数据库操作语言,尽管其语法与通用编程语言有所不同,但因其在众多应用中的广泛使用,大多数程序员都具备一定的 SQL 编写能力。然而,当面对复杂的 SQL 语句或优化需求时,往往需要专业数据库开发工程…...
基于 Q - learning 算法的迷宫导航
这段 Python 代码实现了一个基于 Q - learning 算法的迷宫导航系统。代码通过定义迷宫环境、实现 Q - learning 算法来训练智能体,使其能够在迷宫中找到从起点到终点的最优路径,同时利用训练好的 Q 表来测试智能体的导航能力。 在这个代码实现的迷宫环境…...
解决:AttributeError: module ‘cv2‘ has no attribute ‘COLOR_BGR2RGB‘
opencv AttributeError: module ‘cv2’ has no attribute ‘warpFrame’ 或者 opencv 没有 rgbd 解决上述问题的方法是: 卸载重装。 但是一定要卸载干净,仅仅卸载opencv-python是不行的。无限重复都报这个错。 使用pip list | grep opencv查看相关的…...
NutriJarvis:AI慧眼识餐,精准营养触手可及!—— 基于深度学习的菜品识别与营养计算系统
NutriJarvis:AI慧眼识餐,精准营养触手可及!—— 基于深度学习的菜品识别与营养计算系统 NutriJarvis 是一个基于深度学习的菜品识别与营养计算系统,旨在通过计算机视觉技术自动识别餐盘中的食物,并估算其营养成分&…...
作为一名java技术博主如何突围
作为一位Java开发和技术博主,想要在抖音上快速提升粉丝数量和视频播放量,可以结合以下策略进行优化: 1. 明确目标受众与技术方向 细分领域:技术领域广泛,可以专注于Java开发、算法、框架解析(如Spring Boo…...
