作业题目要求
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
为方便得到加密数据,请参考示意图设计一个程序界面,点击“加密”按钮后,当输入数据非法时提示重新输入并清空输入框,否则正确输出加密后的数据。(参考示意图如下)
实现结果动图
题目分析
- 实现程序界面
- 输入数据非法时提示重新输入
- 非法时清空输入框
- 有输出结果
- 正确实现加密算法
主要库介绍和说明
-
Tkinter 编程
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。 -
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。下面是本程序中使用到的控件及描述。
控件 描述
Button 按钮控件;在程序中显示按钮。
Entry 输入控件;用于显示简单的文本内容
Label 标签控件;可以显示文本和位图 -
布局管理
Tkinter控件有特定的布局管理方法,管理整个控件区域组织,以下是Tkinter公开的布局管理类及说明:包、网格、位置。本作业使用的是grid()布局。
布局方法 描述
pack() 包装;
grid() 网格;
place() 位置;
实现源码及注释
# -*- coding: utf-8 -*-
"""
简单数据加密及界面输入
"""
import tkinter as tk
#加密方法
def jiami():
try:
# 获取输入的数据
data = int(shuru.get())
if data<1000 or data>9999:
error_label.config(text="请输入4位整数")
#输入错误则清空输入框
set_default_value("")
#清空结果区域
jieguo_label.config(text