您的位置:首页 > 其它

hw14+16

2016-03-15 07:48 253 查看


0. 请写一个密码安全性检查的脚本代码:check.py

1. #密码安全性检查代码
2. #
3. #低级密码要求:
4. #  1.密码由单纯的数字或字母组成
5. #  2.密码长度小于等于8位
6. #
7. #中级密码要求:
8. #  1.密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
9. #  2.密码长度不能低于8位
10. #
11. #高级密码要求:
12. #   1.密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
13. #   2.密码只能由字母开头
14. #   3.密码长度不能低于16位
15.  
16. symbols =r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
17. chars ='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
18. nums = '0123456789'
19.  
20. passwd = input('请输入需要检查的密码组合:')
21.  
22. #判断长度
23. length = len(passwd)
24.  
25. while (passwd.isspace() or length == 0) :
26.     passwd = input("您输入的密码为空(或空格),请重新输入:")
27.  
28. if length <= 8:
29.     flag_len = 1
30. elif 8 < length < 16:
31.     flag_len = 2
32. else:
33.     flag_len = 3
34.  
35. flag_con = 0
36.  
37. #判断是否包含特殊字符
38. for each in passwd:
39.     if each in symbols:
40.         flag_con += 1
41.         break
42.     
43. #判断是否包含字母
44. for each in passwd:
45.     if each in chars:
46.         flag_con += 1
47.    
4000
     break
48. 如果密码里面有字符那么con就加1
49. #判断是否包含数字
50. for each in passwd:
51.     if each in nums:
52.         flag_con += 1
53.         break    
54.  
55. #打印结果
56. while 1 :
57.   print("您的密码安全级别评定为:", end='')end=""表示打印对象以什么结尾
,默认是 \n 也就是换行
58.     if flag_len == 1 or flag_con == 1 :
59.         print("低")
60.     elif flag_len == 2 or flag_con == 2 :
61.         print("中")
62.     else :
63.         print("高")
64.         print("请继续保持")
65.         break
66.  
67.     print("请按以下方式提升您的密码安全级别:\n\
68.     \t1.密码必须由数字、字母及特殊字符三种组合\n\
69.     \t2.密码只能由字母开头\n\
70.     \t3.密码长度不能低于16位'")
71.     break
 



4. 哎呀呀,现在的小屁孩太调皮了,邻居家的孩子淘气,把小甲鱼刚写好的代码画了个图案,
麻烦各位鱼油恢复下啊,另外这家伙画的是神马吗?怎么那么眼熟啊!??

1. name = input('请输入待查找的用户名:')
2. score = [['迷途', 85], ['黑夜',
80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
3. IsFind = False
4.  
5. for each in  score:
6.    ifname in each:
7.        print(name + '的得分是:', each[1])
8.        IsFind = True
9.        break
10.     
11.if IsFind == False:
12.     print('查找的数据不存在!')


1. 视频中我们说 sum()这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,
请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
1. def sum(x):
2.   result = 0
3.     
4.    for each in x:
5.        if (type(each) == int) or (type(each) == float):
6.            result += each
7.        else:
8.            continue
9.  
10.     return result
11.  
12. print(sum([1, 2.1, 2.3, 'a', '1', True]))


4. 请问这个函数有多少个参数?
1. def MyFun((x,y), (a, b)):
2.    return x * y - a * b
答案是0,因为类似于这样的写法是错误的!
函数的参数需要的是变量,而这里你试图用“元祖”的形式来传递是不可行的。

     
应该是要表达这个意思:
1. >>>def MyFun(x, y):
2.        return x[0] * x[1] - y[0] * y[1]
3.  
4. >>>MyFun((3, 4), (1, 2))
5. 10

编写一个函数power()模拟内建函数pow(),即power(x,
y)为计算并返回x的y次幂的值。

1. def power(x,y):
2.    result = 1
3.     
4.    for i in range(y):
#1: range(10),等于[0,1,2,3,4,5,6,7,8,9]

#2: range(1,9),等于[1,2,3,4,5,6,7,8]

#3: range(1,9,2),等于[1,3,5,7]

5.        result *= x 

# *=:这个符号的就是前后两个变量相乘,结果放到第一个变量中

6.  
7.    return result
8.  
9. print(power(2,3))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: