编写程序:对密码进行安全性检查。零基础入门学Python系列内容对应的所有编程练习题目 → \rightarrow →Python编程练习题目汇总。
# 密码安全性检查代码# 低级密码要求:# 1. 密码由单纯的数字或字母组成# 2. 密码长度小于等于8位# 中级密码要求:# 1. 密码必须由数字、字母或特殊字符(仅限:`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>)任意两种组合# 2. 密码长度不能低于8位# 高级密码要求:# 1. 密码必须由数字、字母及特殊字符(仅限:`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>)三种组合# 2. 密码只能由字母开头# 3. 密码长度不能低于16位symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>''' chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMnopQRSTUVWXYZ' nums = '0123456789' passwd = input(' 请输入需要检查的密码组合: ') # 判断长度length = len(passwd) while (passwd.isspace() or length == 0) : passwd = input(" 您输入的密码为空(或空格),请重新输入: ") if length <= 8: flag_len = 1 elif 8 < length < 16: flag_len = 2 else: flag_len = 3 flag_con = 0 # 判断是否包含特殊字符for each in passwd: if each in symbols: flag_con += 1 break # 判断是否包含字母for each in passwd: if each in chars: flag_con += 1 break # 判断是否包含数字for each in passwd: if each in nums: flag_con += 1 break # 打印结果while 1 : print(" 您的密码安全级别评定为: ", end='') if flag_len == 1 or flag_con == 1 : print(" 低") elif flag_len == 2 or flag_con == 2 : print(" 中") else : print(" 高") print(" 请继续保持 ") break print(" 请按以下方式提升您的密码安全级别: \n\ \t1. 密码必须由数字、字母及特殊字符三种组合 \n\ \t2. 密码只能由字母开头 \n\ \t3. 密码长度不能低于 16 位'") break
>>>
请输入需要检查的密码组合: 123456
您的密码安全级别评定为: 低
请按以下方式提升您的密码安全级别:
1. 密码必须由数字、字母及特殊字符三种组合
2. 密码只能由字母开头
3. 密码长度不能低于 16 位’
请输入需要检查的密码组合: abc123456def
您的密码安全级别评定为: 中
请按以下方式提升您的密码安全级别:
1. 密码必须由数字、字母及特殊字符三种组合
2. 密码只能由字母开头
3. 密码长度不能低于 16 位’
请输入需要检查的密码组合: abc123def456ghi789%&*
您的密码安全级别评定为: 高
请继续保持
>>>
q = True while q: num = input(' 请输入一个整数 (输入 Q 结束程序 ):') if num != 'Q': num = int(num) print(' 十进制 -> 十六进制 : %d -> 0x%x' % (num, num)) print(' 十进制 -> 八进制 : %d -> 0o%o' % (num, num)) print(' 十进制 -> 二进制 : %d -> ' % num, bin(num)) else: q = False
>>>
请输入一个整数 (输入 Q 结束程序 ):38
十进制 -> 十六进制 : 38 -> 0x26
十进制 -> 八进制 : 38 -> 0o46
十进制 -> 二进制 : 38 -> 0b100110
请输入一个整数 (输入 Q 结束程序 ):89
十进制 -> 十六进制 : 89 -> 0x59
十进制 -> 八进制 : 89 -> 0o131
十进制 -> 二进制 : 89 -> 0b1011001
请输入一个整数 (输入 Q 结束程序 ):1000
十进制 -> 十六进制 : 1000 -> 0x3e8
十进制 -> 八进制 : 1000 -> 0o1750
十进制 -> 二进制 : 1000 -> 0b1111101000
请输入一个整数 (输入 Q 结束程序 ):Q
>>>
name = input(' 请输入待查找的用户名: ') score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]] IsFind = False for each in score: if name in each: print(name + '的得分是:', each[1]) IsFind = True break if IsFind == False: print(' 查找的数据不存在! ')
>>>
请输入待查找的用户名: 小明
查找的数据不存在!
请输入待查找的用户名: 迷途
迷途的得分是: 85
>>>
# 编写一个函数power()模拟内建函数pow() ,即power(x, y)为计算并返回x的y次幂的值def power(x,y): result = 1 for i in range(y): result *= x return resultx = int(input('请输入底数x:'))y = int(input('请输入指数y:'))print(power(x,y))
>>>
请输入底数x:2
请输入指数y:3
8
>>>
def power(x,y): if y == 0: result = 1 else: result = x*power(x,y-1) return resultx = int(input('请输入底数x:'))y = int(input('请输入指数y:'))print(power(x,y))
>>>
请输入底数x:2
请输入指数y:3
8
>>>
# 编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数def gcd(x, y): while y: t = x % y x = y y = t return xx = int(input('请输入第一个数x:'))y = int(input('请输入第二个数y:'))print(gcd(x, y))
>>>
请输入第一个数x:100
请输入第二个数y:35
5
>>>
def gcd(x,y): if y == 0: return x else: return gcd(y,x%y) x = int(input('请输入第一个数x:'))y = int(input('请输入第二个数y:'))print(gcd(x, y))
>>>
请输入第一个数x:100
请输入第二个数y:35
5
>>>
# 编写一个将十进制转换为二进制的函数,要求采用“除2取余”的方式,结果与调用 bin()一样返回字符串形式。def Dec2Bin(dec): temp = [] result = '' while dec: quo = dec % 2 dec = dec // 2 temp.append(quo) while temp: result += str(temp.pop()) return result x = int(input('请输入一个十进制数:'))print(Dec2Bin(x))
>>>
请输入一个十进制数:10
1010
请输入一个十进制数:28
11100
>>>
def Bin(n): temp = '' if n: temp = Bin(n//2) temp += str(n%2) return temp else: return temp num = int(input('请输入一个十进制数:'))print(num,'-->',Bin(num))
>>>
请输入一个十进制数:10
10 --> 1010
请输入一个十进制数:28
28 --> 11100
>>>
# 编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。def findStr(desstr,subStr): count = 0 length = len(desstr) if subStr not in desstr: print("在目标字符串中未找到字符串!") else: for each1 in range(length - 1):#因为你找的是长度2的字符串,所以length减了1 if desstr[each1] == subStr[0]: if desstr[each1+1] == subStr[1]: count += 1 print('字符串在目标字符串中共出 %d 次' % count)desstr = input('请输入目标字符串:')subStr = input('请输入子字符串(两个字符):')findStr(desstr,subStr)
>>>
请输入目标字符串:You cannot improve your past, but you can improve your future.Once time is wasted, life is wasted.
请输入子字符串(两个字符):im
字符串在目标字符串中共出 3 次
>>>
以上是内存溢出为你收集整理的Python编程练习(二):11 - 20全部内容,希望文章能够帮你解决Python编程练习(二):11 - 20所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)