鱼C论坛

 找回密码
 立即注册
查看: 1031|回复: 1

[已解决]同样实现检查文本是否发生改变,代码两种写法是不是都可以?

[复制链接]
发表于 2022-5-21 14:06:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 lzb1001 于 2022-5-21 14:37 编辑

win10/python3.7。6
-----------------------
以下小甲鱼教材和视频的代码:

from tkinter import *
import hashlib



root = Tk()


text = Text(root, width=30, height=5)
text.pack()



text.insert(INSERT, 'I love FishC.com!')


contents = text.get(1.0, END)


def getSig(contents):
    m = hashlib.md5(contents.encode())
    return m.digest()


sig = getSig(contents)


def check():
    contents = text.get(1.0, END)
    if sig != getSig(contents): # 前后对比一致性:此行代码里的sig是第2次内容的,而getSig(contents)是第1次内容的?
        print('警告:文本内容已发生改变!')
    else:
        print('风平浪静~~')

Button(root, text='检查', width=10, fg='white', bg='red', font=('华康少女文字 - Kelvin', 10), underline=True, \
       command=check).pack()



root.title('Text组件Tags用法教学示例')



mainloop()

-----------------------------------

因为对上面红色部分不理解,所以我按小甲鱼在视频中的解说自己尝试写成下面这样居然也能运行:

from tkinter import *
import hashlib



root = Tk()


text = Text(root, width=30, height=5)
text.pack()



text.insert(INSERT, 'I love FishC.com!')


contents = text.get(1.0, END)


def getSig(contents):
    m = hashlib.md5(contents.encode())
    return m.digest()


sig1 = getSig(contents)


def check():
    contents = text.get(1.0, END)
    sig2 = getSig(contents)
    if sig2 != sig1:

        print('警告:文本内容已发生改变!')
    else:
        print('风平浪静~~')

Button(root, text='检查', width=10, fg='white', bg='red', font=('华康少女文字 - Kelvin', 10), underline=True, \
       command=check).pack()



root.title('Text组件Tags用法教学示例')



mainloop()

------------------------

说明:

注意对比两种写法中的红色部分

虽然都能实现同样功能,但小甲鱼的好像更简单(不过我有点看不懂),尤其小甲鱼代码中蓝色注释(我自己加注帮助理解)不知是否正确?

大神可以指点下?
最佳答案
2022-5-21 17:25:22
是一样的,但是第二个多设一个变量,那就显得有些多余
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-21 17:25:22 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
是一样的,但是第二个多设一个变量,那就显得有些多余
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 05:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表