2024-08-11



import tkinter as tk
from tkinter import colorchooser
 
def change_color():
    global color
    color = colorchooser.askcolor(color=color, title="Choose a color")
    if color[1] is None:
        color = "red"  # 如果用户取消选择颜色,则默认使用红色
 
def draw_oval(event):
    if canvas.find_withtag("current_oval"):
        canvas.delete("current_oval")
    fill_color = colorchooser.askcolor(color=color, title="Choose a color")
    if fill_color[1] is not None:
        canvas.create_oval(10, 10, 80, 80, tags="current_oval", fill=fill_color[1])
 
root = tk.Tk()
root.title("颜色渐变动效")
 
color = "red"
change_button = tk.Button(root, text="Change Color", command=change_color)
change_button.pack(side=tk.LEFT, padx=10, pady=10)
 
canvas = tk.Canvas(root, width=100, height=100)
canvas.bind("<Button-1>", draw_oval)
canvas.pack(side=tk.LEFT)
 
root.mainloop()

这段代码使用了Tkinter库来创建一个简单的界面,并使用colorchooser模块来允许用户选择颜色。当用户点击“Change Color”按钮时,会弹出一个颜色选择对话框,并将选中的颜色作为当前绘图的颜色。在画布上点击时,会绘制一个填充为用户选择颜色的椭圆。这个例子展示了如何使用Tkinter库进行简单的交互式绘图,并动态改变颜色。

2024-08-11



from datetime import datetime, timedelta
from chinese_calendar import is_holiday, is_workday
 
# 获取今天的日期
today = datetime.now()
 
# 判断是否为工作日
if is_workday(today):
    print(f"{today.strftime('%Y-%m-%d')} 是工作日")
else:
    print(f"{today.strftime('%Y-%m-%d')} 是节假日")
 
# 判断后天是否为工作日
if is_workday(today + timedelta(days=2)):
    print(f"{today.strftime('%Y-%m-%d')} 的后天是工作日")
else:
    print(f"{today.strftime('%Y-%m-%d')} 的后天是节假日")

这段代码使用了chinese_calendar库中的is_holidayis_workday函数来判断给定日期是否为工作日或节假日。它首先获取当前日期,然后判断并打印出结果。接着,它判断后天是否为工作日,并打印出相应的结果。这个例子简单直观地展示了如何使用chinese_calendar库来进行简单的开发任务。

2024-08-11



from PIL import Image
from pytesseract import image_to_string
 
# 设置tesseract.exe的安装路径
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
 
# 打开图像
image = Image.open('example.png')
 
# OCR识别
text = image_to_string(image)
 
# 打印结果
print(text)

这段代码展示了如何使用Python的Pillow库和pytesseract库来打开并识别图像中的文字。首先,你需要安装Pillow和pytesseract库。pytesseract.pytesseract.tesseract_cmd 设置了Tesseract-OCR的路径,这是一个Google开发的OCR引擎,用于文字识别。image_to_string 函数将图像转换为字符串,并返回识别的文本。

2024-08-11



# 导入Open3D库
import open3d as o3d
 
# 创建点云对象
pcd = o3d.geometry.PointCloud()
 
# 方法1:直接添加点
pcd.points.push_back([0, 0, 0])
pcd.points.push_back([1, 0, 0])
pcd.points.push_back([0, 1, 0])
 
# 方法2:从numpy数组创建点云
points = np.random.rand(100, 3)  # 生成100个随机3维点
pcd.points = o3d.utility.Vector3dVector(points)
 
# 法线估计
pcd.estimate_normals()
 
# 可视化点云
o3d.visualization.draw_geometries([pcd])

这段代码演示了如何使用Open3D库创建点云对象,并向其添加点。然后,它演示了如何从一个numpy数组创建点云,并使用estimate_normals函数估计每个点的法线。最后,代码使用Open3D的可视化工具展示了点云。

2024-08-11

在Python中安装本地的.whl文件,你可以使用pip命令。确保你已经安装了pip

打开命令行界面(在Windows上是CMD或PowerShell,在macOS或Linux上是Terminal),然后使用以下命令:




pip install /path/to/your_package.whl

/path/to/your_package.whl替换为你的.whl文件的实际路径。

例如,如果你的.whl文件位于当前目录,你可以这样安装:




pip install ./your_package.whl

确保你的pip版本是最新的,以便能够安装最新格式的.whl文件。如果你的pip不是最新版本,可以使用以下命令更新pip:




pip install --upgrade pip
2024-08-11



from sklearn.feature_selection import RFE
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
 
# 生成一个回归数据集
X, y = make_regression(n_features=10, n_informative=5, random_state=0)
 
# 初始化LinearRegression模型
model = LinearRegression()
 
# 初始化RFE,设置特征数为5,使用交叉验证
rfe = RFE(model, n_features_to_select=5, step=1, verbose=1)
 
# 在数据集上训练RFE
rfe.fit(X, y)
 
# 输出被选中的特征
print(f"Selected features: {rfe.support_}")
# 输出特征的排名
print(f"Feature ranking: {rfe.ranking_}")

这段代码首先使用sklearn.datasets.make_regression生成一个回归数据集,然后初始化一个LinearRegression模型和一个RFE特征选择对象。通过在数据集上训练RFE,我们可以得到被选中的特征和它们的排名。这是一个基本的例子,展示了如何使用RFE来进行特征选择。

2024-08-11

在Python中,输入和输出是最基本的编程操作。Python标准库提供了多个模块用于输入输出操作,如sys模块用于操作系统交互,json模块用于JSON数据的读写,pickle模块用于Python对象的序列化和反序列化等。

以下是一些常见的输入输出操作:

  1. 输入操作:

Python 2.x中原生的raw_input()函数用于获取用户输入,并将输入作为字符串。




name = raw_input("Please enter your name: ")
print "Hello, ", name

在Python 3.x中,raw_input()被重命名为input(),并且去掉了原来的raw_input()




name = input("Please enter your name: ")
print("Hello, ", name)
  1. 输出操作:

Python中的print函数用于输出。




print("Hello, World!")
  1. 文件操作:

Python中可以使用open()函数打开文件,并使用read()write()readline()等方法进行文件的读写操作。




# 写入文件
with open('output.txt', 'w') as f:
    f.write("Hello, World!\n")
 
# 读取文件
with open('output.txt', 'r') as f:
    print(f.read())
  1. JSON操作:

json模块提供了dump()load()方法用于JSON数据的读写。




import json
 
# 写入JSON数据
with open('data.json', 'w') as f:
    json.dump({'name': 'John', 'age': 30}, f)
 
# 读取JSON数据
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)
  1. Pickle操作:

pickle模块用于Python对象的序列化和反序列化。




import pickle
 
# 序列化对象
with open('object.pkl', 'wb') as f:
    pickle.dump({'name': 'Jane', 'age': 25}, f)
 
# 反序列化对象
with open('object.pkl', 'rb') as f:
    data = pickle.load(f)
    print(data)
  1. 格式化输出:

format()方法可以用于字符串的格式化。




name = "John"
age = 30
print("Hello, my name is {} and I am {} years old.".format(name, age))
  1. 系统操作:

sys模块提供了stdin, stdout, stderr等属性用于与系统标准输入输出进行交互。




import sys
 
# 从标准输入读取数据
name = sys.stdin.readline()
sys.stdout.write("Hello, " + name)

以上是Python输入输出操作的一些基本示例。实际应用中,可以根据需要选择合适的模块和方法进行操作。

2024-08-11



import pandas as pd
 
# 创建一个简单的DataFrame
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 23, 34, 29]}
df = pd.DataFrame(data)
 
# 打印DataFrame
print(df)
 
# 将DataFrame导出到CSV文件
df.to_csv('output.csv', index=False)
 
# 从CSV文件读取数据到DataFrame
df_from_csv = pd.read_csv('output.csv')
print(df_from_csv)
 
# 将DataFrame导出到Excel文件
df.to_excel('output.xlsx', index=False)
 
# 从Excel文件读取数据到DataFrame
df_from_excel = pd.read_excel('output.xlsx')
print(df_from_excel)
 
# 注意:在运行以上代码前,请确保你的环境中已安装pandas库。
# 安装命令:pip install pandas

这段代码展示了如何使用pandas库创建一个DataFrame,并对其进行基本操作,如打印、导出到CSV和Excel文件,以及从CSV和Excel文件读取数据。在运行这些操作前,确保已经安装了pandas库。

2024-08-11

在VSCode中安装Python及其第三方库(如NumPy, pandas, matplotlib等)的步骤如下:

  1. 确保你的系统中已安装Python。可以在终端中运行python --versionpython3 --version来检查Python版本。
  2. 如果未安装Python,请前往Python官网下载并安装合适的Python版本。
  3. 安装pip,Python的包管理器。通常,当你安装Python时,pip也会被安装。
  4. 打开VSCode,并打开一个包含.py文件的文件夹作为工作区。
  5. 在VSCode中,按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板。
  6. 输入并选择“Python: Select Interpreter”,从列表中选择你的Python解释器。
  7. 安装NumPy库,输入命令行:

    
    
    
    pip install numpy

    或者选择Python解释器后,在终端中输入同样的命令。

  8. 同理,安装pandas和matplotlib:

    
    
    
    pip install pandas
    pip install matplotlib

    你可以在VSCode的终端中运行这些命令,也可以在命令面板中输入并选择对应的Python: Install Python Package命令。

注意:如果你使用的是特定的Python环境(如Anaconda),确保你的VSCode终端使用的是正确的Python解释器,并在对应环境下安装库。

2024-08-11



import pandas as pd
 
# 创建一个简单的DataFrame
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 23, 34, 29]}
df = pd.DataFrame(data)
 
# 打印DataFrame
print(df)
 
# 将DataFrame导出到CSV文件
df.to_csv('output.csv', index=False)
 
# 从CSV文件读取数据到新的DataFrame
df_from_csv = pd.read_csv('output.csv')
 
# 打印新的DataFrame
print(df_from_csv)

这段代码展示了如何使用Pandas库创建一个简单的DataFrame,并对其进行打印和导出到CSV文件操作。然后,它展示了如何从CSV文件读取数据到新的DataFrame,并打印出来。这个过程是数据处理和分析的常见步骤,对于学习Pandas库的新手来说,这是一个很好的入门示例。