w01. 斐波那契数列
题目描述
斐波那契数列是一种特殊的数列,很多生活和企业场景中都能见到满足该数列的数据排列方式;现在要求你封装一个用于获取斐波那契数列数据的功能函数,用于底层数据支持;
输入描述
输入一个整数n
输出描述
输出位置为n的斐波那契数列对应的数据
示例
输入:1
输出:1输入:3
输出:2输入:8
输出:21
代码
def fibonacci_recursive(n):
# 基准条件
if n <= 2:
return 1
# 递归调用
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
# 测试函数
n=int(input("请输入斐波那契数列位置n:"))
number = fibonacci_recursive(n)
print(f"Fibonacci number is {number}")
运行截图
w02. 密码等级校验
题目描述
按照用户输入密码的字符,判断用户的密码强度,基本要求如下
- 弱:都是数字,或者都是大写字母/小写字母组成的密码
- 中等:[数字、大写字母] 或者 [数字、小写字母] 或者 [大写字母、小写字母] 或者 [大小写字母、数字]组成的密码
- 强:[数字、大写字母] 或者 [数字、小写字母] 或者 [大写字母、小写字母]并结合特殊符号组成的密码
输入描述
用户输入一个字符串密码
输出描述
输出密码强度等级
示例
输入:abcdef
输出:弱密码输入:abc123
输出:中等强度输入:Abc123%
输出:强密码
代码
def password_strength(password):
x=0
if any(char.isdigit() for char in password) :
x += 1
if any(char.islower() for char in password):
x += 1
if any(char.isupper() for char in password):
x += 1
if any(not char.isalnum() for char in password):
x += 1
if x == 1 :
return "弱密码"
elif x == 2 or x == 3 :
return "中等强度"
elif x == 4 :
return "强密码"
# 用户输入密码
password = input("请输入密码:")
# 判断密码强度
strength = password_strength(password)
print(f"密码强度等级为:{strength}")
运行截图
w03. 密码加密
题目描述
编写一个函数,实现密码的错位加密
编写一个函数,实现密码的错位解密
输入描述
输入一个字符串明文密码;
输入一个字符串密文数据;
输出描述
打印展示加密后的字符串密文
打印展示解密后的明文字符串
示例
输入:
abc # 明文
def # 密文输出:
cde # 错位密文(具体错位可以自定义)
cde # 解密明文(具体错位可以自定义)
代码
def encrypt(possword, n=4):
ep = ""
for i in str(possword):
#将字符串转换为ascill码
ac = ord(i)
#将ascill码错开n位
ac += n
#将ascill码转换为字符串
_ac = chr(ac)
#将每一位密码重新组合在一起
ep += _ac
#返回加密后的密码值
return ep
def decrypt(possword, n=4):
pwd = ""
for i in str(possword):
#将字符串转换为ascill码
ac = ord(i)
#将ascill进行错n位解密
ac -= n
#将ascill码转换为字符串
_ac = chr(ac)
# 将每一位密码重新组合在一起
pwd += _ac
#返回解密后的密码值
return pwd
pd1 = input("请输入明文密码:")
print("加密后的密码:", encrypt(pd1, 5))
pd2 = input("请输入加密密码:")
print("解密后的密码", decrypt(pd2, 5))