当前位置: 首页 > news >正文

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(七)

系列文章目录

个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页
Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟
码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊


文章目录

  • 系列文章目录
  • Python 编程面试问题
    • 84. range(0,20)[2:-2]执行结果?
    • 85. 用Python编写程序以生成星形三角形。
    • 86. 用Python编写程序生成Fibonacci序列。
    • 87. 用一行Python代码从给定列表中取出所有的奇数和偶数。
    • 88. 用Python编写程序以检查数字是否为质数。
    • 89. 编写程序检查数字是否为阿姆斯特朗数。
    • 90. 用Python编写程序以检查序列是否是回文。
    • 91. 用Python编写程序检查一序列中所有数字是否唯一。
    • 92. 编写程序查找文本文件中最长的单词。
    • 93. 编写一个程序来统计给定文本文件的每个字符的数量。
    • 94. 编写一个程序来检查并返回总和值等于目标值N的给定数组A中的对。
    • 95. 编写一个程序以在不使用加号运算符的情况下将两个正整数相加。
    • 96. 编写一个程序来求解给定的方程 ax + by = c,mx + ny = o,假设 a, b, c, m, n, o 是常数。
    • 97. 编写一个程序来匹配字母a后跟4到8个b的字符串。
    • 98. 编写一个程序,将日期从yyyy-mm-dd格式转换为dd-mm-yyyy格式。
    • 99. 编写一个程序来组合两个不同的词典。组合时,如果找到相同的键,则可以将这些相同键的值相加, 输出新字典。

本文是Python面试专栏的第六篇。在本专栏中,我将总结华为、阿里巴巴、字节跳动等互联网公司 Python 面试中最常见的 100+ 问题。每道题都提供参考答案,希望能够帮助你在求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及 Python 基础知识、Python 编程、数据分析以及 Python 函数库等多个方面。

Python 编程面试问题

84. range(0,20)[2:-2]执行结果?

range(0,20)[2:-2] 的执行结果是一个包含索引从 2 到 18(不包括索引为 -2)的迭代器。换句话说,执行这个代码会返回一个从 2 到 17 的序列。

85. 用Python编写程序以生成星形三角形。

下面是使用 Python 编写的生成星形三角形的程序:

rows = int(input("请输入行数:"))for i in range(1, rows + 1):# 打印空格print(" " * (rows - i), end="")# 打印星号print("*" * (2 * i - 1))

86. 用Python编写程序生成Fibonacci序列。

首先,斐波那契数列是以 0 和 1 开始的,每个后续数字都是前两个数字之和。下面是使用 Python 编写的生成 Fibonacci 序列的程序:

def fibonacci(n):fib_list = [0, 1]  # 初始的斐波那契数列if n <= 0:return []elif n == 1:return [fib_list[0]]elif n == 2:return fib_listfor i in range(2, n):next_num = fib_list[i-1] + fib_list[i-2]  # 计算下一个斐波那契数fib_list.append(next_num)  # 将下一个斐波那契数添加到列表中return fib_listn = int(input("请输入要生成的斐波那契数列的长度:"))
fibonacci_series = fibonacci(n)
print(fibonacci_series)

87. 用一行Python代码从给定列表中取出所有的奇数和偶数。

下面是使用 Python 编写的从给定列表中取出所有的奇数和偶数的程序:

a = [1,2,3,4,5,6,7,8,9,10]
odd, even = [el for el in a if el % 2==1], [el for el in a if el % 2==0]print(odd,even)

88. 用Python编写程序以检查数字是否为质数。

下面是使用 Python 编写的检查数字是否为质数的程序:

def is_prime(num):if num < 2:  # 小于2的数不是质数return Falsefor i in range(2, int(num**0.5) + 1):if num % i == 0:  # 若能被某个数整除,说明不是质数return Falsereturn Truenum = int(input("请输入一个数字:"))
if is_prime(num):print(num, "是质数")
else:print(num, "不是质数")

在函数内部,首先排除小于2的数,因为质数定义为大于 1 的数。然后,使用一个循环从 2 到该数的平方根进行迭代,检查是否存在能整除该数的因子。如果存在这样的因子,则该数不是质数,否则是质数。

89. 编写程序检查数字是否为阿姆斯特朗数。

阿姆斯特朗数是指一个 n 位数(n>=3),它的每个位上的数字的 n 次幂之和等于它本身。下面是使用 Python 编写的判断数字是否为阿姆斯特朗数的程序:

def is_armstrong_number(num):# 将数字转换为字符串,以便获取各个位上的数字num_str = str(num)# 计算数字的位数num_length = len(num_str)# 初始化总和total = 0# 计算每个位上数字的n次幂之和for digit in num_str:total += int(digit) ** num_length# 判断总和是否等于原始数字if total == num:return Trueelse:return False# 示例输入
number = int(input("请输入一个数字:"))if is_armstrong_number(number):print("是阿姆斯特朗数")
else:print("不是阿姆斯特朗数")

在这个程序中,定义了一个 is_armstrong_number 函数。首先,将输入的数字转换为字符串,以便能够获取各个位上的数字。然后,计算数字的位数。接着,初始化一个变量 total 用于存储每个位上数字的 n 次幂之和。然后,通过遍历字符串中的每个字符,将每个位上数字的 n 次幂加到 total 中。最后,判断 total 是否等于原始数字,如果相等,则返回 True;否则,返回 False

90. 用Python编写程序以检查序列是否是回文。

下面是使用 Python 编写的检查序列是否是回文的程序:

def is_palindrome(sequence):reversed_sequence = sequence[::-1]  # 将序列反转if sequence == reversed_sequence:  # 比较原序列和反转后的序列return Trueelse:return Falsesequence = input("请输入一个序列:")
if is_palindrome(sequence):print("是回文序列")
else:print("不是回文序列")

这个程序会要求输入一个序列,可以是字符串、列表或元组等。然后,使用 is_palindrome 函数来判断该序列是否是回文。在函数内部,通过将原序列反转后再与原序列进行比较,如果相等则说明是回文序列,返回 True;否则,返回 False

91. 用Python编写程序检查一序列中所有数字是否唯一。

下面是使用 Python 编写的检查序列中所有数字是否唯一的程序:

def is_unique(sequence):unique_set = set(sequence)  # 将序列转换为集合if len(sequence) == len(unique_set):  # 判断集合中元素的数量与序列长度是否相等return Trueelse:return Falsesequence = input("请输入一个序列,以空格分隔每个数字:")
sequence_list = sequence.split()  # 将输入的序列字符串转换为列表
if is_unique(sequence_list):print("序列中的所有数字是唯一的")
else:print("序列中存在重复的数字")

这个程序会要求输入一个序列,每个数字之间用空格分隔。然后,在函数内部,将序列转换为集合,由于集合中不能包含重复元素,所以如果集合的大小与序列长度相等,则说明序列中的所有数字都是唯一的。

92. 编写程序查找文本文件中最长的单词。

下面是使用 Python 编写的程序,用于查找文本文件中最长的单词:

def find_longest_word(file_path):longest_word = ""with open(file_path, 'r') as file:# 读取文件内容content = file.read()# 按空格拆分文本内容为单词列表words = content.split()# 遍历单词列表,更新最长单词for word in words:if len(word) > len(longest_word):longest_word = wordreturn longest_word# 示例输入,文件路径
file_path = "example.txt"longest_word = find_longest_word(file_path)print("最长的单词是:", longest_word)

在这个程序中,定义了一个 find_longest_word 函数。首先,打开指定路径的文本文件,并使用 read 方法读取文件内容。然后,将文件内容按空格拆分为一个单词列表。接着,遍历单词列表,比较每个单词的长度与当前最长单词的长度,如果更长,则更新最长单词。最后,返回最长的单词。

93. 编写一个程序来统计给定文本文件的每个字符的数量。

下面是使用 Python 编写的统计给定文本文件中每个字符数量的程序:

def count_characters(filename):character_count = {}with open(filename, 'r') as file:content = file.read()for char in content:if char in character_count:character_count[char] += 1else:character_count[char] = 1return character_countfilename = input("请输入要统计的文本文件名:")
result = count_characters(filename)print("每个字符的数量统计结果:")
for char, count in result.items():print(f"{char}: {count}")

这个程序会要求输入给定文本文件的文件名。首先,使用 open 函数打开指定的文件,并使用 read 方法读取文件内容。然后,遍历文件内容中的每个字符,并使用字典来记录每个字符出现的次数。如果字符已经存在于字典中,则将对应的计数加 1;否则,在字典中添加该字符并将计数初始化为 1。最后,返回统计结果的字典。

94. 编写一个程序来检查并返回总和值等于目标值N的给定数组A中的对。

下面是使用 Python 编写的检查并返回给定数组 A 中总和等于目标值 N 的对的程序:

def find_sum_pairs(array, target):pairs = []for i in range(len(array)):for j in range(i + 1, len(array)):if array[i] + array[j] == target:pairs.append((array[i], array[j]))return pairs# 示例输入
A = [2, 4, 6, 3, 1, 5]
N = 7result = find_sum_pairs(A, N)print(f"总和等于 {N} 的对:")
for pair in result:print(pair)

这个程序中,定义了一个 find_sum_pairs 函数,用于在给定的数组 A 中查找总和等于目标值 N 的数字对。该函数使用两层循环遍历所有可能的数字对,并检查它们的总和是否等于目标值。

95. 编写一个程序以在不使用加号运算符的情况下将两个正整数相加。

下面是使用 Python 编写的在不使用加号运算符的情况下将两个正整数相加的程序:

def add_without_plus(a, b):while b != 0:carry = a & b  # 计算进位a = a ^ b  # 非进位和b = carry << 1  # 左移一位,作为下一轮的进位return anum1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))result = add_without_plus(num1, num2)
print("两个数字的和为:", result)

这个程序中,定义了一个 add_without_plus 函数,使用循环来模拟加法运算的过程。在循环中,使用位操作符进行计算。首先,使用按位与(&)运算符计算出进位值(carry),然后使用异或(^)运算符计算出非进位和(sum)。接着,将进位值左移一位(<<),作为下一轮计算的进位。重复这个过程直到进位值为 0,即完成相加的过程。

96. 编写一个程序来求解给定的方程 ax + by = c,mx + ny = o,假设 a, b, c, m, n, o 是常数。

要解决给定的方程组 ax + by = cmx + ny = o,可以使用线性代数中的方法。下面是一个使用 Python 编写的求解方程组的程序:

import numpy as npdef solve_equation(a, b, c, m, n, o):coefficients = np.array([[a, b], [m, n]])constants = np.array([c, o])try:solution = np.linalg.solve(coefficients, constants)return solutionexcept np.linalg.LinAlgError:print("方程组无解")# 示例输入
a = 2
b = 3
c = 10
m = 5
n = -7
o = 8result = solve_equation(a, b, c, m, n, o)print(f"x 的值为: {result[0]}")
print(f"y 的值为: {result[1]}")

在这个程序中,首先导入了 NumPy 库用于进行线性代数计算。然后定义了一个 solve_equation 函数,用于求解给定的方程组。在函数内部,将方程的系数和常数分别存储在 NumPy 数组 coefficientsconstants 中。然后,使用 np.linalg.solve 函数来解方程组。如果方程组有解,则返回解的值;如果方程组无解,会抛出 np.linalg.LinAlgError 异常。

97. 编写一个程序来匹配字母a后跟4到8个b的字符串。

下面是使用 Python 编写的匹配字母 a 后跟 4 到 8 个 b 的字符串的程序:

import redef match_pattern(string):pattern = r'ab{4,8}'  # 正则表达式模式result = re.search(pattern, string)if result:return Trueelse:return Falseprint(match_pattern("abc"))  # prints False
print(match_pattern("aabbbbbc"))  # prints True

98. 编写一个程序,将日期从yyyy-mm-dd格式转换为dd-mm-yyyy格式。

下面是使用 Python 编写的将日期从 yyyy-mm-dd 格式转换为 dd-mm-yyyy 格式的程序:

def convert_date(date):parts = date.split("-")  # 拆分日期字符串if len(parts) != 3:  # 验证日期格式return "日期格式不正确"year = parts[0]month = parts[1]day = parts[2]converted_date = f"{day}-{month}-{year}"  # 构建转换后的日期字符串return converted_datedate = input("请输入日期(yyyy-mm-dd):")
converted_date = convert_date(date)
print("转换后的日期为:", converted_date)

99. 编写一个程序来组合两个不同的词典。组合时,如果找到相同的键,则可以将这些相同键的值相加, 输出新字典。

下面是使用 Python 编写的组合两个不同词典的程序,如果找到相同的键,则将它们的值相加并输出新字典:

from collections import Counterd1 = {'key1': 50, 'key2': 100, 'key3':200}
d2 = {'key1': 200, 'key2': 100, 'key4':300}
new_dict = Counter(d1) + Counter(d2)
print(new_dict)

上述程序使用了 Python 标准库中的 collections 模块中的 Counter 类来更简单地组合两个字典,并将具有相同键的值相加。

Counter 类用于计算可哈希对象的出现次数。在这里,可以利用 Counter 类的性质来实现字典值的相加和合并。

相关文章:

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(七)

系列文章目录 个人简介&#xff1a;机电专业在读研究生&#xff0c;CSDN内容合伙人&#xff0c;博主个人首页 Python面试专栏&#xff1a;《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读&#xff0c;一起进步&#xff01;&#x1f31f;&#x1f31f;&#x1f31f; …...

K8S系列一:概念入门

写在前面 本文组织方式&#xff1a; K8S的架构、作用和目的。需要首先对K8S整体有所了解。 K8S是什么&#xff1f; 为什么是K8S&#xff1f; K8S怎么做&#xff1f; K8S的重要概念&#xff0c;即K8S的API对象。要学习和使用K8S必须知道和掌握的几个对象。 Pod 实例 Volume 数…...

QT- QLineEdite设置自动补全功能,并修改自动补全的样式

#include <QApplication> #include <QLineEdit> #include <QCompleter> #include <QStringListModel> #include <QMainWindow>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建一个字符串列表模型QStringListModel mode…...

解决Adobe Flash Player已被屏蔽

问题&#xff1a;该插件不支持 原因&#xff1a;现在浏览器默认禁用flash 博主当前使用的是谷歌浏览器Chrome 2个主要方法都已经失效 搜索一圈后&#xff0c;之前博客给出的2个主要方法都已经失效。 1、flash.cn 下载本地播放器 2、在chrome中打开flash的禁用开关 2023年解…...

【Spring专题】Spring之Bean的生命周期源码解析——阶段二(IOC之实例化)

目录 前言阅读准备阅读指引阅读建议 课程内容一、SpringIOC之实例化1.1 简单回顾1.2 概念回顾1.3 核心方法讲解 二、方法讲解2.1 AbstractBeanFactory#getMergedLocalBeanDefinition&#xff1a;合并BeanDefinition2.2 AbstractAutowireCapableBeanFactory#createBean&#xff…...

YOLOv8目标检测算法

YOLOv8目标检测算法相较于前几代YOLO系列算法具有如下的几点优势&#xff1a; 更友好的安装/运行方式速度更快、准确率更高新的backbone&#xff0c;将YOLOv5中的C3更换为C2FYOLO系列第一次尝试使用anchor-free新的损失函数 YOLOv8简介 YOLOv8 是 Ultralytics 公司继 YOLOv5…...

uniapp条件编译

uniapp条件编译 uni-app 将已经将可以跨平台兼容处理的组件及 API 等进行了封装&#xff0c;但是部分平台的特性无法跨平台。 由此&#xff0c;uni-app 提供了条件编译的方案&#xff0c;来处理不同平台的特定或差异。 写法 #ifdef&#xff1a; 仅在某平台存在#ifndef&#xf…...

2023年国赛数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米&#xff0c;宽为12米&…...

volte端到端问题分析(一)

1、MME专载保持功能验证 **描述&#xff1a;**当无线环境较差时&#xff0c;有可能由于“Radio_Connection_with_UE_Lost” 原因造成的VoLTE通话掉话&#xff0c;如果UE发生RRC重建成功&#xff0c;手机将不会掉话。 对MME1202进行功能验证&#xff1a;开启后&#xff0c;MME专…...

微信小程序(原生)搜索功能实现

一、效果图 二、代码 wxml <van-searchvalue"{{ keyword }}"shape"round"background"#000"placeholder"请输入关键词"use-action-slotbind:change"onChange"bind:search"onSearch"bind:clear"onClear&q…...

Android AOSP源码编译——AOSP整编(二)

切换到源码目录下执行下面命令 1、初始化环境 . build/envsetup.sh //清除缓存 make clobber2、选择编译目标 lunchAOSP 预制了很多 Product。这里为了简单我们先不用真机&#xff0c;而是选择模拟器的方式&#xff0c;对于 x86_64 模拟器&#xff0c;我们选择的是 aosp_x86…...

铁是地球科学争论的核心

一项新的研究调查了地球内部铁的形态。这些发现对理解内核的结构产生了影响。 一项新的研究探索了地球内核的铁结构&#xff0c;如图中的黄色和白色所示。 资料来源&#xff1a;地球物理研究快报 地球内核以铁为主&#xff0c;铁可以多种晶体形式作为固体材料存在。&#xff08…...

TX Text Control .NET Server for ASP.NET Crack

TX Text Control .NET Server for ASP.NET Crack TX Text Control.NET Server for ASP.NET是用于Web应用程序或服务的服务器端组件。它是一个完全可编程的ASP.NET文字处理引擎&#xff0c;提供了广泛的文字处理功能。使用TX Text Control.NET Server&#xff0c;程序员可以开发…...

工作纪实36-ES跨集群迁移

1.es数据备份、恢复 https://blog.csdn.net/andy_only/article/details/111319175 2.reindex命令 https://codeleading.com/article/40964498185/ 添加配置、重启ES cd bin sh elasticsearch -d3.开源工具 https://github.com/elasticsearch-dump/elasticsearch-dump 4.…...

【MFC】11.MFC文档和单文档架构-笔记

MFC文档 之前我们在写字符雨的时候&#xff0c;将数据都存储到了视图类中&#xff0c;这是不合理的&#xff0c;视图类只负责显示&#xff0c;不应该存储任何数据 文档&#xff1a;专门存储数据用的 CDocument 文档与视图的关系&#xff1a; 创建一个文档类 单文档四个类都…...

2023年“研究生科研素养提升”系列公益讲座在线测评题目与参考答案

一、单选题 1、关于参考文献的选择&#xff0c;说法错误的是 &#xff08; &#xff09; 参考文献的选择有原创性、必要性的原则 不能过度引用 不能故意隐藏引用来源 可以引用无关参考文献 您的答案&#xff1a;D 参考答案&#xff1a;D 答案解析&#xff1a;不可以引用无关参考…...

MySQL8.xx一主两从复制安装与配置

搭建环境: 查看系统版本cat /etc/redhat-release [rootwww tools]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 查看内核版本cat /proc/version 目标: 一主两从 主机IP 主机名称 端口 搭建环境 安装目录192.168.1.100 docker…...

深度学习优化器

1、什么是优化器 优化器用来寻找模型的最优解。 2、常见优化器 2.1. 批量梯度下降法BGD(Batch Gradient Descent) 2.1.1、BGD表示 BGD 采用整个训练集的数据来计算 cost function 对参数的梯度&#xff1a; 假设要学习训练的模型参数为W&#xff0c;代价函数为J(W)&#xff0c;…...

由浅入深C系列五:使用libcurl进行基于http get/post模式的C语言交互应用开发

使用libcurl进行基于http get/post模式的C语言交互应用开发 简介环境准备在线资源示例代码测试调用运行结果 简介 大多数在linux下的开发者&#xff0c;都会用到curl这个命令行工具。对于进行restful api的测试等&#xff0c;非常方便。其实&#xff0c;这个工具还提供了一个C…...

高效实用小工具之Everything

一&#xff0c;简介 有时候我们电脑文件较多时&#xff0c;想快速找到某个文件不是一件容易的事情&#xff0c;实用windows自带的搜素太耗时&#xff0c;效率不高。今天推荐一个用来搜索电脑文件的小工具——Everything&#xff0c;本文将介绍如何安装以及使用everything&…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...