【文本操作工具】v3.0 bate发布

开始尝试调用自定义库(校检身份证号码)

本次更新内容:加入校检身份证号码模块

注意:从这个版本开始,源代码和打包后的exe文件将一起作为整合包发布(只提供整合包的安装包)

功能介绍(在程序的 Help 模式里也可以看)

  • 生成随机字符的功能:生成一个随机大写字母、随机小写字母和随机整数的组合,长度由用户自定义
  • 生成随机数字的功能:生成一个随机整数,范围由用户自定义
  • 生成高强度密码的功能:生成一个由随机大写字母、随机小写字母、随机整数、随机符号组成的字符串,范围由用户自定义,非常适合用来当密码(当然你自己要记下来)
  • 生成随机浮点数部分:生成一个随机小数,范围由用户自定义
  • 列出一个范围内的素数部分:计算一个范围内的全部素数,范围由用户自定义
  • 过滤特定文本部分:提取一段文本当中的特定字符(目前支持汉字、数字以及英文字母),文本由用户自定义
  • 校检身份证号码:校检用户输入的身份证号码是否正确,目前只支持校检第二代18位身份证

版本信息

版本:v2.0

作者:Abyss

最后更新于:2020-8-22

主文件代码行数:213 行

id_card库代码行数:20行

版权信息

版权归 Abyss 所有,开放源代码(任何人都可以在代码基础上进行改编,发布则必须声明代码来源!

主文件源代码

#导入库
import random
import string
import sys
from time import *
import math
import re
from database import id_card
#欢迎界面
print("欢迎进入文本操作工具,这是一个可以进行文本相关操作的工具")
print("作者:Abyss")
print("文本操作工具-v3.0 bate")
print("最后更新于:2020/8/22")
print("现在进入功能选择界面……")
sleep(1)

#功能选择
print("")
Function_selection = input("生成随机字符输入1\n生成随机数字输入2\n生成高强度密码输入3\n生成随机浮点数输入4\n列出一个范围内的素数输入5\n过滤特定文本输入6\n校检身份证号码输入7\n查看帮助输入help\n退出输入exit:")

#主判断

#主循环
while True:

    #生成随机字符部分
    if Function_selection == "1":
        print("")
        print("现在是生成随机字符模式")
        Random_character_length = input("请输入随机字符的长度(必须为整数):")
        print("正在生成,请等待……")
        Random_character = ''.join(random.sample(string.ascii_letters + string.digits, int(Random_character_length)))
        sleep(1)
        print("生成完毕!")
        print("随机字符为:",Random_character)
        sleep(1)
        print("")

    #生成随机数字部分
    elif Function_selection == "2":
        print("")
        print("现在是生成随机数字模式")
        n_min = input("请输入随机数字的最小值(必须为整数):")
        n_max = input("请输入随机数字的最大值(必须为整数):")
        print("正在生成,请等待……")
        n_random = random.randint(int(n_min),int(n_max))
        sleep(1)
        print("生成完毕!")
        print("随机数字为:",n_random)
        sleep(1)
        print("")

    #生成高强度密码部分
    elif Function_selection == "3":
        print("")
        print("现在是生成高强度密码模式")
        pwl = input("请输入密码长度(必须为整数,建议8-16位,由于是不规则的,所以建议把密码记下来!):")
        print("正在生成,请等待……")
        pw = ''.join(random.sample(["A","B","C","D","E","F","G","H","I","J","K","L","N","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","n","m","o","p","q","r","s","t","u","v","w","x","y","z","!","@","#","$","%","^","&","*","(",")","0","1","2","3","4","5","6","7","8","9"], int(pwl)))
        sleep(1)
        print("生成完毕!")
        print("高强度密码为:",pw)
        sleep(1)
        print("")

    #生成随机浮点数部分
    elif Function_selection == "4":
        print("")
        print("现在是生成随机浮点数模式")
        fp_min = input("请输入随机浮点数的最小值(必须为整数):")
        fp_max = input("请输入随机浮点数的最大值(必须为整数):")
        print("正在生成,请等待……")
        fp_random = random.uniform(int(fp_min), int(fp_max))
        sleep(1)
        print("生成完毕!")
        print("随机数字为:",fp_random)
        sleep(1)
        print("")

    #列出一个范围内的素数
    elif Function_selection == "5":
        print("")
        print("现在是列出一个范围内的素数模式")
        range_max = input("请输入一个数字作为范围最大值(用于从0到这个数字中的素数):")
        p_n=[]
        for x in range(int(range_max)):
            if x<2:
                continue
            for i in range(2,x):
                if x%i==0:
                    break
            else:
                p_n.append(x)
        print(range_max,"以内的全部素数有:",p_n)
        sleep(1)
        print("")

    #过滤特定文本部分
    elif Function_selection == "6":
        print("")
        print("现在是过滤特定文本模式,请选择子模块")
        sleep(1)
        #子模块部分

        print("从字符串中提取汉字输入1\n从字符串中提取数字输入2\n从字符串中提取字母输入3\n退出此模块输入exit")
        sub_m = input("请选择子模块:")
        #子循环
        while True:

        #子判断

            #保留汉字部分
            if sub_m == "1":
                print("")
                print("现在是保留汉字模式")
                text = input("请输入文本:")
                cn_text = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", text)
                print(cn_text)
                sleep(1)
                print("")
                print("从字符串中提取汉字输入1\n从字符串中提取数字输入2\n从字符串中提取字母输入3\n退出此模块输入exit")
                sub_m = input("请选择子模块:")

            #保留数字部分
            elif sub_m == "2":
                print("")
                print("现在是保留数字模式")
                text = input("请输入文本:")
                num_text = re.sub("\D", "", text) 
                print(num_text)
                sleep(1)
                print("")
                print("从字符串中提取汉字输入1\n从字符串中提取数字输入2\n从字符串中提取字母输入3\n退出此模块输入exit")
                sub_m = input("请选择子模块:")

            #保留字母部分
            elif sub_m == "3":
                print("")
                print("现在是保留字母模式")
                text = input("请输入文本:")
                en_text = ''.join(re.findall(r'[A-Za-z]', text)) 
                print(en_text)
                sleep(1)
                print("")
                print("从字符串中提取汉字输入1\n从字符串中提取数字输入2\n从字符串中提取字母输入3\n退出此模块输入exit")
                sub_m = input("请选择子模块:")

            #退出
            elif sub_m == "exit":
                print("正在退出模块")
                print("")
                sleep(1)
                Function_selection = "0"
                break

            #无法理解
            else:
                print("无法理解你输入的内容,仔细检查一下是不是输入错了?")
                sleep(1)
                print("")
                print("从字符串中提取汉字输入1\n从字符串中提取数字输入2\n从字符串中提取字母输入3\n退出此模块输入exit")
                sub_m = input("请选择子模块:")

    #校检身份证号码部分
    elif Function_selection == "7":
        print("")
        print("现在是校检身份证号码模式")
        card = input("请输入18位身份证号码:")
        id_card.check(card)
        sleep(1)
        print("")

    #help部分
    elif Function_selection == "help":
        print("")
        print("现在是帮助模式")
        print("#生成随机字符的功能:生成一个随机大写字母、随机小写字母和随机整数的组合,长度由用户自定义")
        print("#生成随机数字的功能:生成一个随机整数,范围由用户自定义")
        print("#生成高强度密码的功能:生成一个由随机大写字母、随机小写字母、随机整数、随机符号组成的字符串,范围由用户自定义,非常适合用来当密码(当然你自己要记下来)")
        print("#生成随机浮点数部分:生成一个随机小数,范围由用户自定义")
        print("#列出一个范围内的素数部分:计算一个范围内的全部素数,范围由用户自定义")
        print("#过滤特定文本部分:提取一段文本当中的特定字符(目前支持汉字、数字以及英文字母),文本由用户自定义")
        print("#校检身份证号码:校检用户输入的身份证号码是否正确,目前只支持校检第二代18位身份证")
        print("!!!注意:以上模块在要求输入数字时,请不要输入过大的数字,容易崩溃!目前还没有技术进行优化,抱歉!!!")
        print("")
        print("作者:Abyss,我会在我的博客公布源代码和打包后的exe文件,持续更新,更新内容请留意我的博客!")
        print("当前版本号:v3.0 bate")
        print("“文本操作工具”博客专栏:https://blog.nocsi.xyz/category/str_tool")
        print("本次更新内容:加入校检身份证号码模块")
        print("感谢支持!有问题请在博客内反馈!")
        sleep(1)
        print("")

    #退出程序
    elif Function_selection == "exit":
        print("正在退出程序……")
        sleep(1)
        break

    #重定
    elif Function_selection == "0":
        break

    #无法判断
    else:
        print("无法理解你输入的内容,仔细检查一下是不是输入错了?")
        sleep(1)
        print("")

    #重新进行功能选择
    Function_selection = input("生成随机字符输入1\n生成随机数字输入2\n生成高强度密码输入3\n生成随机浮点数输入4\n列出一个范围内的素数输入5\n过滤特定文本输入6\n校检身份证号码输入7\n查看帮助输入help\n退出输入exit:")

#感谢支持!!!

id_card库源代码

#!!!警告:这是程序必须文件,请不要删除或者修改里面的内容,否则相应模块将无法顺利运行!!!

def check(num_str):
    str_to_int = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5,
                  '6': 6, '7': 7, '8': 8, '9': 9, 'X': 10}
    check_dict = {0: '1', 1: '0', 2: 'X', 3: '9', 4: '8', 5: '7',
                  6: '6', 7: '5', 8: '4', 9: '3', 10: '2'}
    if len(num_str) != 18:
        print('请输入标准的第二代身份证号码(18位)')
    check_num = 0
    for index, num in enumerate(num_str):
        if index == 17:
            right_code = check_dict.get(check_num % 11)
            if num == right_code:
                print(u"身份证号: %s 校验通过" % num_str)
            else:
                print(u"身份证号: %s 校验不通过, 正确尾号应该为:%s" % (num_str, right_code))
        check_num += str_to_int.get(num) * (2 ** (17 - index) % 11)
        
#!!!警告:这是程序必须文件,请不要删除或者修改里面的内容,否则相应模块将无法顺利运行!!!

许可文件

许可文件
应用信息:
程序名称:文本操作工具
最后更新于:2020年8月26日
最后版本:v3.0 bate
使用编程语言:Python
程序运行环境:Windows
作者:Abyss

使用本应用(及其源代码)则代表您认可以下许可信息

版权归 Abyss 所有,开放源代码(任何人都可以在代码基础上进行改编,但发布则必须声明代码来源)

本程序代码参考自(鸣谢,排名不分前后):
https://www.cnblogs.com/zqifa/p/python-random-1.html
https://blog.csdn.net/mianmabb/article/details/87178168
https://dwz1.cc/DGltBnTc
https://blog.csdn.net/chenxuan5849/article/details/100792557

使用本应用时,请不要利用程序进行违法犯罪的事情

安装后显示信息

安装成功!
如果您已经勾选在桌面创建快捷方式选项,你的桌面将会多出一个exe文件,这是已经打包的版本,如果你想查看更多信息(包括源码),请打开您的安装目录进行查看!
谢谢!!!

下载

感谢支持!!!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇