ansire 发表于 2023-5-21 14:06:12

复制网页上的代码不能直接使用

如图,做小甲鱼的课后作业时,经常需要复制代码,但是都会带有<<<或者...,请问如何处理可以直接使用复制的代码。

sfqxx 发表于 2023-5-21 14:08:03

本帖最后由 sfqxx 于 2023-5-21 14:10 编辑

把它去掉不就行了吗

要么自己手搓{:10_256:}

一行一行复制也可以

isdkz 发表于 2023-5-21 14:09:21

稍等,我给你搓一个程序出来

ansire 发表于 2023-5-21 14:11:09

sfqxx 发表于 2023-5-21 14:08
把它去掉不就行了吗

要么自己手搓


我还以为你们有什么好方法呢。手搓,那代码长一点不得累死啊,我之前是ctrl+h,替换,我都嫌麻烦。。。。

sfqxx 发表于 2023-5-21 14:13:18

ansire 发表于 2023-5-21 14:11
我还以为你们有什么好方法呢。手搓,那代码长一点不得累死啊,我之前是ctrl+h,替换,我都嫌麻烦。。。。

本来这种测试题就是自己用眼睛看出来的
如果考试,他把代码用图片上传
你要怎么办呢?

isdkz 发表于 2023-5-21 14:14:18

下面是一个简单的程序,创建了一个带有两个文本框的窗口:左边的文本框用于输入带有 ">>> " 或 "... " 前缀的文本,右边的文本框将显示去掉这些前缀后的结果。

import tkinter as tk

def process_text():
    input_text = text_entry.get("1.0", "end-1c")# 获取输入框的内容
    lines = input_text.split('\n')# 按行分割
    processed_lines = if line.startswith(('>>> ', '... ')) else line for line in lines]# 去掉特定前缀
    processed_text = '\n'.join(processed_lines)# 重新连接成字符串

    text_display.delete("1.0", "end")# 清空显示框
    text_display.insert("end", processed_text)# 插入处理后的文本

root = tk.Tk()# 创建主窗口
root.title('Text Processor')# 设置窗口标题

# 创建输入框
text_entry = tk.Text(root, width=40, height=20)
text_entry.pack(side="left")

# 创建显示框
text_display = tk.Text(root, width=40, height=20)
text_display.pack(side="right")

# 创建处理按钮
button = tk.Button(root, text="Process", command=process_text)
button.pack()

root.mainloop()# 开始主循环


这个程序使用了Tkinter库来创建GUI。在主窗口中,我们创建了两个Text控件和一个Button控件。Text控件用于输入和显示文本,Button控件用于触发处理函数。处理函数从输入框获取文本,按行处理每一行的内容,如果行以 ">>> " 或 "... " 开始,就去掉这些前缀,然后将处理后的文本显示在显示框中。

陶远航 发表于 2023-5-21 14:14:24

复制这段代码,再粘贴要处理的代码。
print((input("请输入要处理的文字:").replace("...", "")).replace(">>>", ""))

陶远航 发表于 2023-5-21 14:15:12

isdkz 发表于 2023-5-21 14:14
下面是一个简单的程序,创建了一个带有两个文本框的窗口:左边的文本框用于输入带有 ">>> " 或 "... " 前缀 ...

《手搓》

isdkz 发表于 2023-5-21 14:16:45

还可以加一个copy按钮复制处理后的文本:

import tkinter as tk

def process_text():
    input_text = text_entry.get("1.0", "end-1c")# 获取输入框的内容
    lines = input_text.split('\n')# 按行分割
    processed_lines = if line.startswith(('>>> ', '... ')) else line for line in lines]# 去掉特定前缀
    processed_text = '\n'.join(processed_lines)# 重新连接成字符串

    text_display.delete("1.0", "end")# 清空显示框
    text_display.insert("end", processed_text)# 插入处理后的文本

def copy_text():
    root.clipboard_clear()# 清除剪贴板
    text = text_display.get("1.0", "end-1c")# 获取显示框的内容
    root.clipboard_append(text)# 添加到剪贴板

root = tk.Tk()# 创建主窗口
root.title('Text Processor')# 设置窗口标题

# 创建输入框
text_entry = tk.Text(root, width=40, height=20)
text_entry.pack(side="left")

# 创建显示框
text_display = tk.Text(root, width=40, height=20)
text_display.pack(side="right")

# 创建处理按钮
process_button = tk.Button(root, text="Process", command=process_text)
process_button.pack()

# 创建复制按钮
copy_button = tk.Button(root, text="Copy", command=copy_text)
copy_button.pack()

root.mainloop()# 开始主循环


有什么需求可以继续提出来

歌者文明清理员 发表于 2023-5-21 14:18:06

isdkz 发表于 2023-5-21 14:16
还可以加一个copy按钮复制处理后的文本:




不是pyperclip.copy吗{:10_256:}

isdkz 发表于 2023-5-21 14:18:54

陶远航 发表于 2023-5-21 14:15
《手搓》

现在是注重效率的时代,能用镭射炮绝不用小米加步枪,不能像某人一样活在一个老古董的时代

isdkz 发表于 2023-5-21 14:19:40

歌者文明清理员 发表于 2023-5-21 14:18
不是pyperclip.copy吗

pyperclip还要装个第三方库,我这都不用

陶远航 发表于 2023-5-21 14:19:53

isdkz 发表于 2023-5-21 14:18
现在是注重效率的时代,能用镭射炮绝不用小米加步枪,不能像某人一样活在一个老古董的时代

我这代码才是真手搓。

isdkz 发表于 2023-5-21 14:21:34

陶远航 发表于 2023-5-21 14:19
我这代码才是真手搓。

可是好用吗?还是有一个图形界面方便一点,而且你确定没有bug吗{:10_256:}

歌者文明清理员 发表于 2023-5-21 14:21:53

isdkz 发表于 2023-5-21 14:19
pyperclip还要装个第三方库,我这都不用

{:10_256:}@ChatGPT 这代码是不是你写的?

陶远航 发表于 2023-5-21 14:22:08

isdkz 发表于 2023-5-21 14:21
可是好用吗?还是有一个图形界面方便一点,而且你确定没有bug吗

你的我试了,完全不行(

sfqxx 发表于 2023-5-21 14:22:59

陶远航 发表于 2023-5-21 14:22
你的我试了,完全不行(

同意,

isdkz 发表于 2023-5-21 14:25:38

陶远航 发表于 2023-5-21 14:22
你的我试了,完全不行(

所以就说你的代码会出bug,你压根没试过甲鱼老师的帖子里面的复制出来是怎样的

陶远航 发表于 2023-5-21 14:26:32

isdkz 发表于 2023-5-21 14:25
所以就说你的代码会出bug,你压根没试过甲鱼老师的帖子里面的复制出来是怎样的

我说你的不行
你的语言理解能力堪比ChatGPT

isdkz 发表于 2023-5-21 14:28:08

陶远航 发表于 2023-5-21 14:26
我说你的不行
你的语言理解能力堪比ChatGPT

是你的语言理解能力有问题吧

我说你不知道小甲鱼老师帖子里面复制出来的代码是怎样的,

所以你的测试用例都是错的,当然觉得我的不行了
页: [1] 2
查看完整版本: 复制网页上的代码不能直接使用