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")