马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 ssjmhh56 于 2018-3-1 11:35 编辑
首先,得以从哔哩哔哩遇到小甲鱼可以称得上是幸运了,讲课风趣,课后还有对应的习题可供巩固和提高自己的水平.之前有玩过CodeCombat,但当时对Python也是一知半解,经过一周的学习,总算是有了些系统的了解. 记得刚开始写代码的时候总是把print写成printf,每局后面也 总忍不住去加;,可恶的C.慢慢适应之后才开始觉得原来Python如此优雅,简约,简单的对齐就完成不简单的约束,不需要提前声明变量,没有字节大小的束缚, 只用一行代码便实现了提示输入与接收数据的功能.#check.py
nums = '1234567890'
alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
special = '~!@#$%^&*()_=+-/,.?<>;:[]{}|\\'
way = '''请按以下方式提升您的密码安全级别:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字母开头
3.密码长度不能低于16位
'''
i, j, k = 0, 0, 0
key = str(input('请输入需要检查的密码组合:'))
print('您的密码安全级别评定为 : ', end = '')
length = len(key)
while (key.isspace() or length == 0):
key = input('您输入的密码为空(或空格),请重新输入 : ')
length = len(key)
for each in key:
if each in nums:
i = 1
break #判定是否有数字
for each in key:
if each in alpha:
j = 1
break #判定是否有字母
for each in key:
if each in special:
k = 3
break #判定是否有特殊字符
degree = i + j + k
if length <= 8 or degree == 1:
print('低')
print(way)
elif length > 16 and degree == 5 and (key[0] in alpha):
print('高')
print('请继续保持')
else:
print('中')
print(way)
当独立完成课后训练的那一刻,那种自己写的代码能跑起来的感受,不言而喻,本觉得自己写的很好,但和小甲鱼的参考答案一对比,总会挑出几个值得改进的地方,学无止境.
记忆点:
0.字符串中需要加'\'的时候有如下方法:r'\'或'\\'
1.短路逻辑如:if 1<2 or 2>3:# or 语句判断左右有一为真即可,短路逻辑便是当左边语句成立后不再去判定右边是否成立
2.int()将小数转换为整数是向下取整,但对于负数来说正好相反(5.5向上取整是6,向下取整是5)
3.int(5.4 + 0.5) == 5实现四舍五入
4.not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9可先按优先级加括号再计算
5.Python中 or and 的用法:0 or 3返回值是3, 4 and 5 返回值是5,并不是 1
6.提高代码效率:<1>将重复的代码赋给一个变量<2>条件语句中把概率高的放在前面
7.small = x if (x < y and x < z) else (y if y < z else z)三元操作符的使用
8.列表的拷贝:list2 = list1[:] 不可以直接list2 = list1这样修改list2,list1也会跟着变化
9.list1[::-1]可以将列表逆序输出
10.列表推导式:list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
11.灵活使用列表索引用数据的一部分对数据进行处理:list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
12.打开文件时,\t等会被看作转义字符,所以加 r 或者用 / 或者用 \\ .file1 = open(r'C:\windows\temp\readme.txt', 'r')
13.def MyFun((x, y), (a, b)): 这样定义是错误的,可以写成>>> def MyFun(x, y):\return x[0] * x[1] - y[0] * y[1]
以上就是这一周所学,希望可以越学越快乐.
|