精选20个爆火的Python实战项目(含源码),直接拿走不谢!
今天给大家介绍20个非常实用的Python项目,帮助大家更好的学习Python。
完整版Python项目源码,【点击这里】领取!
① 猜字游戏

import random
def guess_word_game():
words = ["apple", "banana", "cherry", "grape", "orange"]
target_word = random.choice(words)
guessed_letters = []
attempts = 6print("欢迎来到猜字游戏!") print("提示:这个单词是一种水果。") print("_ " * len(target_word))while attempts > 0: guess = input("请输入一个字母:").lower()if len(guess)!= 1 or not guess.isalpha(): print("请输入一个有效的字母。") continueif guess in guessed_letters: print("你已经猜过这个字母了。") continueguessed_letters.append(guess)if guess in target_word: print("正确!") display_word = "" for letter in target_word: if letter in guessed_letters: display_word += letter + " " else: display_word += "_ " print(display_word)if "_" not in display_word: print(f"恭喜你猜对了!答案是{target_word}。") break else: attempts -= 1 print(f"错误!你还有{attempts}次机会。")if attempts == 0: print(f"游戏结束。答案是{target_word}。")
你可以这样调用这个游戏:
if __name__ == "__main__":` `guess_word_game()
这个猜字游戏从给定的水果单词列表中随机选择一个单词,让玩家通过猜测单个字母来猜出这个单词。玩家有 6 次错误猜测的机会。每次猜测后,游戏会显示已猜对的字母在单词中的位置,以及还剩下多少次机会。如果玩家猜对了所有字母,游戏会显示祝贺消息并结束;如果玩家用完了所有机会,游戏会显示答案并结束。

② 闹钟

import tkinter as tk
from datetime import datetime
from playsound import playsound
class AlarmClock:
def __init__(self):
self.root = tk.Tk()
self.root.title("闹钟")
self.hour_var = tk.StringVar()
self.minute_var = tk.StringVar()
self.second_var = tk.StringVar()
tk.Label(self.root, text="小时:").grid(row=0, column=0)
tk.Entry(self.root, textvariable=self.hour_var).grid(row=0, column=1)
tk.Label(self.root, text="分钟:").grid(row=1, column=0)
tk.Entry(self.root, textvariable=self.minute_var).grid(row=1, column=1)
tk.Label(self.root, text="秒:").grid(row=2, column=0)
tk.Entry(self.root, textvariable=self.second_var).grid(row=2, column=1)
tk.Button(self.root, text="设置闹钟", command=self.set_alarm).grid(row=3, column=0, columnspan=2)
def set_alarm(self):
hour = int(self.hour_var.get())
minute = int(self.minute_var.get())
second = int(self.second_var.get())
while True:
now = datetime.now()
current_hour = now.hour
current_minute = now.minute
current_second = now.second
if current_hour == hour and current_minute == minute and current_second == second:
playsound('alarm_sound.wav')
break
def run(self):
self.root.mainloop()
if __name__ == "__main__":
alarm_clock = AlarmClock()
alarm_clock.run()
在运行这个程序之前,请确保安装了playsound库。同时,准备一个名为alarm_sound.wav的音频文件作为闹钟声音。这个程序允许用户输入小时、分钟和秒来设置闹钟,当到达设定时间时,会播放指定的音频文件。

③ 骰子模拟器
可以通过选择1到6之间的随机整数,来完成骰子模拟。


④ 二维码


⑤ 语言检测

示例。

⑥ 加密和解密

def encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
if char.islower():
encrypted_char = chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
else:
encrypted_char = chr((ord(char) - ord('A') + shift) % 26 + ord('A'))
encrypted_text += encrypted_char
else:
encrypted_text += char
return encrypted_text
def decrypt(text, shift):
return encrypt(text, 26 - shift)
# 示例用法
original_text = "Hello, World!"
shift_value = 3
encrypted = encrypt(original_text, shift_value)
print(f"加密后的文本:{encrypted}")
decrypted = decrypt(encrypted, shift_value)
print(f"解密后的文本:{decrypted}")
在这个例子中,encrypt函数接受一个文本和一个偏移量作为参数,对文本中的字母进行加密。如果字符是小写字母,将其转换为对应的加密后的小写字母;如果是大写字母,进行类似的处理。非字母字符保持不变。decrypt函数通过反向偏移量来解密文本,实际上就是再次调用加密函数,但使用反向的偏移量。
示例。



⑦ URL缩短

from flask import Flask, render_template, request
import pyshorteners
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
short_url = None
if request.method == 'POST':
long_url = request.form['long_url']
s = pyshorteners.Shortener()
short_url = s.tinyurl.short(long_url)
return render_template('index.html', short_url=short_url)
if __name__ == '__main__':
app.run(debug=True)
同时,你需要一个名为index.html的模板文件,内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>URL Shortener</title>
</head>
<body>
<h1>URL Shortener</h1>
<form method="post">
<label for="long_url">输入长 URL:</label>
<input type="text" id="long_url" name="long_url">
<input type="submit" value="缩短">
</form>
{% if short_url %}
<p>缩短后的 URL:{{ short_url }}</p>
{% endif %}
</body>
</html>
这个程序创建了一个简单的 Web 应用,用户在表单中输入一个长 URL,点击 “缩短” 按钮后,程序使用pyshorteners库将长 URL 缩短,并在页面上显示缩短后的 URL。
⑧ 音乐播放器

import tkinter as tk
import pygame
class MusicPlayer:
def __init__(self):
self.root = tk.Tk()
self.root.title("音乐播放器")
self.song_list = []
self.current_song_index = 0
self.load_button = tk.Button(self.root, text="加载音乐", command=self.load_songs)
self.load_button.pack()
self.play_button = tk.Button(self.root, text="播放", command=self.play_song)
self.play_button.pack()
self.pause_button = tk.Button(self.root, text="暂停", command=self.pause_song)
self.pause_button.pack()
self.next_button = tk.Button(self.root, text="下一首", command=self.next_song)
self.next_button.pack()
self.prev_button = tk.Button(self.root, text="上一首", command=self.prev_song)
self.prev_button.pack()
pygame.mixer.init()
def load_songs(self):
file_paths = tk.filedialog.askopenfilenames(filetypes=[("音频文件", "*.mp3;*.wav")])
self.song_list = list(file_paths)
def play_song(self):
if self.song_list:
pygame.mixer.music.load(self.song_list[self.current_song_index])
pygame.mixer.music.play()
def pause_song(self):
pygame.mixer.music.pause()
def next_song(self):
if self.song_list:
self.current_song_index = (self.current_song_index + 1) % len(self.song_list)
self.play_song()
def prev_song(self):
if self.song_list:
self.current_song_index = (self.current_song_index - 1) % len(self.song_list)
self.play_song()
def run(self):
self.root.mainloop()
if __name__ == "__main__":player = MusicPlayer()
player.run()
这个音乐播放器可以加载多个音频文件,并提供播放、暂停、上一首和下一首的功能。它使用tkinter创建了用户界面,使用pygame库来播放音乐。
请注意,在运行代码之前,请确保已经安装了pygame库。可以使用pip install pygame来安装。
选择音乐文件所在的文件夹,点击播放,即可听见音乐。

⑨ 生命游戏
生命游戏由英国数学家约翰·H·康威设计的,是一种类似于生物社会的兴衰和交替的游戏。


board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]# 邻居数组为给定的单元格找到8个相邻的单元格
neighbors = [(1, 0), (1, -1), (0, -1), (-1, -1), (-1, 0), (-1, 1), (0, 1), (1, 1)]rows = len(board)
cols = len(board[0])# 创建一个原始板的副本
copy_board = [[board[row][col] for col in range(cols)] for row in range(rows)]# 逐个单元地迭代
for row in range(rows):for col in range(cols):# 对于每个单元计算邻居的数量live_neighbors = 0for neighbor in neighbors:r = (row + neighbor[0])c = (col + neighbor[1])# 检查相邻细胞的有效性,以及它是否原来是一个活细胞# 评估是针对副本进行的,因为它永远不会更新。if (r < rows and r >= 0) and (c < cols and c >= 0) and (copy_board[r][c] == 1):live_neighbors += 1# 规则1或规则3if copy_board[row][col] == 1 and (live_neighbors < 2 or live_neighbors > 3):board[row][col] = 0# 规则4if copy_board[row][col] == 0 and live_neighbors == 3:board[row][col] = 1print(board)

Turtle模块提供了在二维平面上移动的环境。
Turtle可以实现位置、航向和各种可能的状态和动作。
roo = tu.Turtle() # 创建对象
wn = tu.Screen() # 屏幕对象
wn.bgcolor("black") # 屏幕背景
wn.title("分形树")
roo.left(90) # 移动
roo.speed(20) # 速度def draw(l): # 以长度'l'作为参数的递归函数if l < 10:returnelse:roo.pensize(2) # 设置画笔大小roo.pencolor("yellow") # 画笔颜色roo.forward(l) # 朝向roo.left(30) # 移动draw(3 * l / 4) # 绘制roo.right(60) # 移动draw(3 * l / 4) # 绘制roo.left(30) # 移动roo.pensize(2)roo.backward(l) # 返回初始位置draw(20) # 绘制20次roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor("magenta") # magentaroo.forward(l)roo.left(30)draw(3 * l / 4)roo.right(60)draw(3 * l / 4)roo.left(30)roo.pensize(2)roo.backward(l)draw(20)roo.left(270)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor("red") # redroo.forward(l)roo.left(30)draw(3 * l / 4)roo.right(60)draw(3 * l / 4)roo.left(30)roo.pensize(2)roo.backward(l)draw(20)roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor('#FFF8DC') # whiteroo.forward(l)roo.left(30)draw(3 * l / 4)roo.right(60)draw(3 * l / 4)roo.left(30)roo.pensize(2)roo.backward(l)draw(20)########################################################def draw(l):if (l < 10):returnelse:roo.pensize(3)roo.pencolor("lightgreen") # lightgreenroo.forward(l)roo.left(30)draw(4 * l / 5)roo.right(60)draw(4 * l / 5)roo.left(30)roo.pensize(3)roo.backward(l)draw(40)roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(3)roo.pencolor("red") # redroo.forward(l)roo.left(30)draw(4 * l / 5)roo.right(60)draw(4 * l / 5)roo.left(30)roo.pensize(3)roo.backward(l)draw(40)roo.left(270)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(3)roo.pencolor("yellow") # yellowroo.forward(l)roo.left(30)draw(4 * l / 5)roo.right(60)draw(4 * l / 5)roo.left(30)roo.pensize(3)roo.backward(l)draw(40)roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(3)roo.pencolor('#FFF8DC') # whiteroo.forward(l)roo.left(30)draw(4 * l / 5)roo.right(60)draw(4 * l / 5)roo.left(30)roo.pensize(3)roo.backward(l)draw(40)########################################################
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor("cyan") # cyanroo.forward(l)roo.left(30)draw(6 * l / 7)roo.right(60)draw(6 * l / 7)roo.left(30)roo.pensize(2)roo.backward(l)draw(60)roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor("yellow") # yellowroo.forward(l)roo.left(30)draw(6 * l / 7)roo.right(60)draw(6 * l / 7)roo.left(30)roo.pensize(2)roo.backward(l)draw(60)roo.left(270)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor("magenta") # magentaroo.forward(l)roo.left(30)draw(6 * l / 7)roo.right(60)draw(6 * l / 7)roo.left(30)roo.pensize(2)roo.backward(l)draw(60)roo.right(90)
roo.speed(2000)# recursion
def draw(l):if (l < 10):returnelse:roo.pensize(2)roo.pencolor('#FFF8DC') # whiteroo.forward(l)roo.left(30)draw(6 * l / 7)roo.right(60)draw(6 * l / 7)roo.left(30)roo.pensize(2)roo.backward(l)draw(60)
wn.exitonclick()
绘制时间较长,结果如下,挺好看的。

⑪ 计算器

import tkinter as tk
class Calculator:
def __init__(self):
self.root = tk.Tk()
self.root.title("简单计算器")
self.expression = ""
self.display_var = tk.StringVar()
self.display = tk.Entry(self.root, textvariable=self.display_var, font=('Helvetica', 20))
self.display.grid(row=0, column=0, columnspan=4)
buttons = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+',
'C'
]
row_val = 1
col_val = 0
for button in buttons:
tk.Button(self.root, text=button, padx=20, pady=20, command=lambda b=button: self.button_click(b)).grid(row=row_val, column=col_val)
col_val += 1
if col_val > 3:
col_val = 0
row_val += 1
def button_click(self, button):
if button == '=':
try:
result = str(eval(self.expression))
self.display_var.set(result)
self.expression = result
except:
self.display_var.set("错误")
self.expression = ""
elif button == 'C':
self.display_var.set("")
self.expression = ""
else:
self.expression += button
self.display_var.set(self.expression)
def run(self):
self.root.mainloop()
if __name__ == "__main__":
calculator = Calculator()
calculator.run()
这个计算器可以进行基本的加、减、乘、除运算,并且有清除(C)和等于(=)按钮。它使用 Tkinter 创建了一个简单的图形用户界面,包含一个显示区域和多个按钮。当用户点击按钮时,相应的操作会被执行,结果会显示在显示区域中。
运行代码,出现一个计算器,非常好用!

⑫ 猜数游戏


运行代码,结果展示

⑬ 图像转换器

from PIL import Image
import os
def convert_image(input_path, output_path, output_format):
try:
img = Image.open(input_path)
img.save(output_path, format=output_format)
print(f"成功将 {input_path} 转换为 {output_path}")
except Exception as e:
print(f"转换失败:{e}")
# 示例用法
input_image_path = "input.jpg"
output_image_path = "output.png"
output_format = "PNG"
convert_image(input_image_path, output_image_path, output_format)
在这个示例中,convert_image函数接受输入图像路径、输出图像路径和目标格式作为参数。它使用Pillow库打开输入图像,然后将其保存为指定的格式。你可以根据实际情况修改输入和输出路径以及目标格式。
请注意,确保已经安装了Pillow库,可以使用pip install Pillow进行安装。
运行代码,选择图片,点击转换按钮,即可完成图像格式变换。

⑭ 重量转换器

def convert_weight(value, from_unit, to_unit):
units = {
"gram": 1,
"kilogram": 1000,
"pound": 453.592,
"ounce": 28.3495
}
if from_unit not in units or to_unit not in units:
return "Invalid units"
return value * units[from_unit] / units[to_unit]
# 示例用法
weight = 100
print(f"{weight} grams is {convert_weight(weight, 'gram', 'kilogram')} kilograms.")
print(f"{weight} grams is {convert_weight(weight, 'gram', 'pound')} pounds.")
print(f"{weight} grams is {convert_weight(weight, 'gram', 'ounce')} ounces.")
这个重量转换器函数接受三个参数:要转换的数值、原始单位和目标单位。它使用一个字典来存储不同单位之间的换算比例,然后根据给定的数值和单位进行换算。你可以根据实际需求进行扩展和改进,比如添加用户输入功能,以便在运行时获取数值和单位。
运行代码,出现界面,输入数值,点击转换。

⑮ 年龄和性别检测

以下是一个使用 Python 进行年龄和性别检测的示例代码,这里使用了第三方库face_recognition和opencv-python,请确保在运行代码前安装好这些库。
import face_recognition
import cv2
import numpy as np
import datetime
def detect_age_gender(frame):
face_locations = face_recognition.face_locations(frame)
for top, right, bottom, left in face_locations:
face_image = frame[top:bottom, left:right]
# 使用深度学习模型进行性别和年龄预测
# 这里使用示例值,实际应用中需使用专业模型进行预测
gender = np.random.choice(['Male', 'Female'])
age = np.random.randint(18, 60)
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, f'{gender}, {age} years old', (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
return frame
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if ret:
result_frame = detect_age_gender(frame)
cv2.imshow('Age and Gender Detection', result_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
⑯ 人脸检测

原图如下。


⑰ 铅笔素描

结果如下。

⑱ 文本编辑器

import tkinter as tk
from tkinter import filedialog
class TextEditor:
def __init__(self, root):
self.root = root
self.root.title("简单文本编辑器")
self.text_area = tk.Text(root)
self.text_area.pack(fill=tk.BOTH, expand=True)
self.menu_bar = tk.Menu(root)
self.file_menu = tk.Menu(self.menu_bar, tearoff=0)
self.file_menu.add_command(label="打开", command=self.open_file)
self.file_menu.add_command(label="保存", command=self.save_file)
self.menu_bar.add_cascade(label="文件", menu=self.file_menu)
root.config(menu=self.menu_bar)
def open_file(self):
file_path = filedialog.askopenfilename()
if file_path:
with open(file_path, 'r') as file:
content = file.read()
self.text_area.delete(1.0, tk.END)
self.text_area.insert(tk.END, content)
def save_file(self):
file_path = filedialog.asksaveasfilename(defaultextension=".txt")
if file_path:
content = self.text_area.get(1.0, tk.END)
with open(file_path, 'w') as file:
file.write(content)
if __name__ == "__main__":
root = tk.Tk()
editor = TextEditor(root)
root.mainloop()
这个文本编辑器具有打开和保存文件的功能。它使用 Tkinter 的菜单和文本区域来实现基本的文本编辑操作。
结果如下:

⑲ 图像分割


如果具有视觉的机器人是按颜色来计算糖果的数量,那么了解糖果之间的界限对它来说就很重要。
from skimage.io import imread
from skimage import color
import numpy as np
import matplotlib.pyplot as plt# 读取图片
cimage = imread('photo.jpg')
fig, ax = plt.subplots(figsize=(20, 20))
ax.imshow(cimage)
ax.axis('off')# RGB转为LAB
lab_img = color.rgb2lab(cimage)
x, y, z = lab_img.shape# 显示颜色
to_plot = cimage.reshape(x * y, 3)
colors_map = to_plot.astype(np.float) / 256# 创建数据
scatter_x = []
scatter_y = []
for xi in range(x):for yi in range(y):L_val = lab_img[xi, yi][0]A_val = lab_img[xi, yi][1]B_val = lab_img[xi, yi][2]scatter_x.append(A_val)scatter_y.append(B_val)plt.figure(figsize=(20, 20))
plt.xlabel("a* from green to red")
plt.ylabel("b* from blue to yellow")
plt.scatter(scatter_x, scatter_y, c=colors_map)
# 显示
plt.show()
我们可以使用散点图,根据糖果的颜色对图像进行分割。

最后我们可以根据颜色,正确地分割图像中的糖果。
def filter_color(L_val_min, A_val_min, A_val_max, B_val_min, B_val_max):filtered_image = np.copy(cimage)for xi in range(x):for yi in range(y):L_val = lab_img[xi, yi][0]A_val = lab_img[xi, yi][1]B_val = lab_img[xi, yi][2]if L_val > L_val_min and A_val > A_val_min and A_val < A_val_max and B_val > B_val_min and B_val < B_val_max:passelse:filtered_image[xi, yi] = [255,255,255]return filtered_imagelab_img = color.rgb2lab(cimage)
yellow = filter_color(70, -50, 0, 30, 100)
red = filter_color(30, 25, 100, 0, 100)
green = filter_color(50, -128, -20, 0, 50)
blue = filter_color(50, -40, 30, -128, -20)
white = filter_color(93, -25, 25, -25, 25)
pink = filter_color(50, 20, 128, -50, 0)fig, ax = plt.subplots(nrows=3, ncols=2, figsize=(20,20))
ax[0][0].imshow(pink)
ax[0][0].set_title("pink Candies")

⑳ 模拟时钟
使用Tkinter制作一个简单的模拟时钟GUI应用程序。
import tkinter as tk
import time
def update_clock():
current_time = time.strftime('%H:%M:%S')
label.config(text=current_time)
root.after(1000, update_clock)
root = tk.Tk()
root.title("模拟时钟")
label = tk.Label(root, font=('Helvetica', 48))
label.pack(pady=20)
update_clock()
root.mainloop()
这段代码首先导入了必要的库,然后定义了一个函数来更新时钟显示。在主程序中,创建了一个 Tkinter 窗口,设置了标题,创建了一个用于显示时间的标签,并通过调用update_clock函数启动时钟的更新循环。每隔 1000 毫秒(1 秒),时钟会更新一次显示。
结果如下:

如果你是准备学习Python或者正在学习(想通过Python兼职),下面这些你应该能用得上:
包括:Python安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

相关文章:
精选20个爆火的Python实战项目(含源码),直接拿走不谢!
今天给大家介绍20个非常实用的Python项目,帮助大家更好的学习Python。 完整版Python项目源码,【点击这里】领取! ① 猜字游戏 import random def guess_word_game(): words ["apple", "banana", "cherry&quo…...
Rocky Linux 9安装Asterisk 20和freepbx 17脚本——筑梦之路
脚本搜集来自Rocky Linux 9安装Asterisk 20和freepbx 17脚本 #!/bin/bash#Preparacion de ambiente de RockyLinuxecho "Deshabilitar SELINUX /etc/selinux/config "sed -i s/^SELINUX.*$/SELINUXdisabled/ /etc/selinux/configecho "Establecer nombre de maq…...
PSPICE FOR TI笔记记录1
快捷放置器件 R旋转 连线 w,单击器件引脚方块部分 电压探测笔 创建仿真文件 Analysis Type 分析模式:比如时域分析,频域分析 Run To Time 仿真时长 Skip intial transient bias point calculation (跳过初始瞬态偏置点计算(SKIPBP))一定要勾选 编辑…...
Java集合剖析4】LinkedList
目录 一、LinkedList的特有方法 二、LinkedList的底层数据结构 三、插入方法的具体实现 一、LinkedList的特有方法 LinkedList的底层是双向链表,它提供了操作首尾结点的方法 二、LinkedList的底层数据结构 LinkedList的底层是一个双向链表,有一个结点内部…...
基于MATLAB/octave的容积卡尔曼滤波(CKF)【带逐行注释】
介绍 CKF的三维滤波程序例程 产品概述 我们的 MATLAB 数据处理工具是专为科研人员、工程师和数据分析师设计的高效解决方案。该工具提供了一系列强大的功能,能够快速处理和分析大规模数据集,适用于各种科学和工程应用,包括信号处理、图像分…...
Python编程探索:从基础语法到循环结构实践(下)
文章目录 前言🍷四、 字符串拼接:连接多个字符串🍸4.1 使用 操作符进行字符串拼接🍸4.2 使用 join() 方法进行字符串拼接🍸4.3 使用 format() 方法进行格式化拼接🍸4.4 使用 f-string(格式化字…...
简介openwrt系统下/etc/config/network文件生成过程
openwrt的network文件,或者说在/etc/config下的文件,都是动态生成的。 脚本的函数定义在package/base-files/files/lib/functions中,有以下几个文件: libraSVN:~/Wang_SP4/openwrt-d03dc49/package/base-files/files/lib/functi…...
javaWeb项目-Springboot+vue-XX图书馆管理系统功能介绍
本项目源码(点击下方链接下载):java-springbootvue阿博图书馆管理系统源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端&…...
华为ENSP用户权限深度解析:构建安全高效的网络管理
在华为ENSP(Enterprise Network Simulation Platform)用户界面中,用户权限级别是一个重要的概念,它用于限制不同用户访问设备的权限,从而增加设备管理的安全性。以下是对华为ENSP用户界面用户权限级别的详细解释&#…...
NFC之NDEF
NDEF的通用格式 MB标志是一个1位字段,当其被设置时,表示NDEF消息的开始。 ME标志是一个1位字段,当其被设置时,表示NDEF消息的结束。 CF标志是一个1位字段,指示这是分块有效载荷的第一个记录块或中间记录块。 SR标志是…...
学习第三十六行
QValidator::State里面state为0,完全不匹配,1,部分匹配,2,完全匹配,对于label或者textedit里面的字符均为QString类型,特别是遇到数字,需要QString::number转化,对于正则表达式&…...
停车场问题
实验内容 1.问题描述: 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆达到时间的先后顺序,依次由北向南排列(大门在最南端,最先达到的第一辆车停放在车场的最北端),若车场…...
海康相 机
海康机器人-机器视觉-下载中心 海康威视MVS客户端及虚拟相机c开发案例-CSDN博客 相机驱动下载: 下载中心 VisionMaster 视频教程_哔哩哔哩_bilibili 【VisionMaster】试用版安装说明_visionmaster试用版-CSDN博客 海康视觉算法平台VisionMaster 4.3.0 C# 二次…...
用map实现el-table全选
<el-button size"small" type"primary" click"searchProxy">查询</el-button><el-checkbox v-model"selectAll" change"changeSelectAll" >全选</el-checkbox><el-table:data"taskList&…...
【开源免费】基于SpringBoot+Vue.JS社区团购系统(JAVA毕业设计)
本文项目编号 T 024 ,文末自助获取源码 \color{red}{T024,文末自助获取源码} T024,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…...
Java进阶之路:构造方法
🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 🥇博主昵称:小菜元 🍟博客主页…...
2025秋招八股文--网络原理篇
前言 1.本系列面试八股文的题目及答案均来自于网络平台的内容整理,对其进行了归类整理,在格式和内容上或许会存在一定错误,大家自行理解。内容涵盖部分若有侵权部分,请后台联系,及时删除。 2.本系列发布内容分为12篇…...
C#基础-面向对象的七大设计原则
目录 1.开放封闭原则(OCP) 2.单一职责原则(SRP) 3.依赖倒置原则(DIP) 4.里氏替换原则(LSP) 5.接口隔离原则(ISP) 6.合成复用原则(CRP&#…...
CSS 容器查询一探究竟
引言 在 《请列举四种「等比例自适应矩形」实现方案?》 一文中我曾使用到容器查询单位 cqw, 当时在使用 cqw 过程中只是简单过了一下容器查询相关的内容!! 所以这次专门出一篇文章, 对容器查询做一个梳理… 一、是什么 在实际开发中您是否遇到过需要根据父容器的…...
AI论文写作:如何轻松实现高原创度大揭秘
随着人工智能技术的迅猛进步,AI论文写作工具在学术界开始崭露头角,作为一种辅助手段。这些工具不仅能高效地生成论文的初步版本或部分章节,而且其产出的内容往往展现出高度的创新性。本文将探讨AI论文写作工具为何能产出如此高原创度的内容&a…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
