hw14+16

来源:互联网 发布:淘宝李宁乒乓球运动服 编辑:程序博客网 时间:2024/04/30 10:28

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.         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)为计算并返回xy次幂的值。

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



0 0