1.密码强度检查: 一般而言,密码字符主要由数字,大小写字母和标号符号。密码的安全强度主要和密码字符串的复杂程度相关,密码字符串中包含的字符种类越多,安全强度越高。一般密码的安全强度可分为强密码,中高,中低,弱密码。强密码包含了数字,小写字母,大写字母,及标号(string.punctuation)等4种符号,中高密码则包含前述3种符号,中低则包含前述2种符号,弱密码则只包含前述一种符号。 代码:
""" @author didi @datetime 2020/10/16 """ import string while True: digits = 0 lowercase = 0 uppercase = 0 punnctuation = 0 passwd = input("请输入密码:") if len(passwd) < 6: print("错误(少于6位)") else: for a in passwd: if a in string.digits: digits = 1 elif a in string.ascii_lowercase: lowercase = 1 elif a in string.ascii_uppercase: uppercase = 1 elif a in string.punctuation: punnctuation = 1 if digits + lowercase + uppercase + punnctuation == 2: print("中低密码") elif digits + lowercase + uppercase + punnctuation == 3: print("中高密码") elif digits + lowercase + uppercase + punnctuation == 4: print("强密码") else: print("密码太弱") 垃圾内容快速识别(简单):一般来说,在一封正常邮件内容中,是不会出现太多类似 【, 】,*,-,/,\等特殊字符,如果邮件内容中出现这些特殊字符的数量超过一定比例,则可以直接认为是垃圾邮件。 编写程序,对给定邮件内容进行分类,提示“垃圾邮件”或“正常邮件” """ @author didi @datetime 2020/10/16 """ import string while True: digits = 0 lowercase = 0 uppercase = 0 punnctuation = 0 chinese =0 pin = float(input("请输入邮件内容分类阈值:")) email = input("请输入邮件内容:") for a in email: if a in string.digits: digits += 1 elif a in string.ascii_lowercase: lowercase += 1 elif a in string.ascii_uppercase: uppercase += 1 elif a in string.punctuation: punnctuation += 1 else: chinese += 1 if punnctuation / (digits + lowercase + uppercase + punnctuation +chinese) >= pin: print("【注意】可能是垃圾邮件") else: print("是正常邮件")3.尼姆游戏。两个玩家轮流从一堆物品中拿走一部分物品。在每一步中,玩家可以自由选择拿走的物品,但必须在数量上要求拿走至少一件最多一半的物品。两玩家交替取走物品,取走最后一件物品的玩家为输家。 编写程序,模拟用户和机器两游戏玩家,其中机器的取走策略为随机取走合法数量的物品。用户玩家则为用户合法输入来确定本轮的取走数量。
""" @author didi @datetime 2020/10/16 """ import math import random sum = 24 # 物品总数量 left = sum # 剩余物品数量 get = 0 # 玩家或电脑一次拿走的物品数量 flag = 0 # 标志位,0表示最近取物品的是玩家,1表示最近取物品的是电脑 print("*****************************************") print("welcome to the NimuGame for", sum, "Stuffs") print("*****************************************") while left > 0: print("[Your turn] the left", left, ".Please input your move(1-", math.ceil(left / 2), "):", end="") get = int(input()) left -= get flag = 0 print("[Your turn] after move ,the left is", left) if left == 0: break get = random.randint(1, math.ceil(left / 2)) left -= get print("[Computer turn] computer move", get) print("[Computer turn] after move ,the left is", left) flag = 1 if flag == 1: print("Congrats, You Won!") else: print("Never mind ,the computer won")