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("密码太弱")
  1. 垃圾内容快速识别(简单):一般来说,在一封正常邮件内容中,是不会出现太多类似 【, 】,*,-,/,\等特殊字符,如果邮件内容中出现这些特殊字符的数量超过一定比例,则可以直接认为是垃圾邮件。
    编写程序,对给定邮件内容进行分类,提示“垃圾邮件”或“正常邮件”
"""
    @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")