大家都是如何学习Python的呢?
本帖最后由 焰珺晴 于 2020-4-9 19:53 编辑今天学到了入门学习Python(旧版的第14课),小甲鱼给了一道题,感觉怀疑人生了。
# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
我的天,答案贼长,只会写出这样的# 密码安全性检查代码
str1 = input("请输入需要检查的密码组合")
print("您的密码安全级别评级为:", end = ' ')
str1.sdigit()
while True
str1.sdigit() = True
print('低')
break还报错了
答案
# 密码安全性检查代码
#
# 低级密码要求:
# 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("您输入的密码为空(或空格),请重新输入:")
length = len(passwd)
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 == 3 and flag_con == 3 and (passwd in chars):
print("高")
print("请继续保持")
break
else:
print("中")
print("请按以下方式提升您的密码安全级别:\n\
\t1. 密码必须由数字、字母及特殊字符三种组合\n\
\t2. 密码只能由字母开头\n\
\t3. 密码长度不能低于16位")
break
看了答案感觉勉强看懂,自己做只能写几行。。。平时的课有认真听,有认真做笔记,每次的练习也有好好做(一般写一行两行的当节课讲了的会),但是从来让写完成一个任务的代码仍然感觉无处下手,之前做过的,也未必自己都会写了。让我怀疑自己的学习方法
之前觉得,直接往下进行,之前忘记的需要用的时候去查,但是现在有一点不知道去哪里查了55555.。。
最近除了休息,一天一到两课,我是不是应该停一个星期,把之前的吃透啊
求大佬解答,谢谢{:5_92:} 其实你这个情况 属于正常的 但是你要学会举一反三 编程可以锻炼自己的思维 你可以做完课后练习以后 把练习的题目改一下 自己给自己出题 做一下
多看一下 网上好的技术文章 可以学到不少
不要机械式学习 要学会变通 找到编程的乐趣 比如你现在学习了检查密码强度 你可以自己写个简单的input输入账号密码的demo 检查输入的账号密码强度 这都是很好地练习
如果你学习了的东西忘了 也很正常 我学习了git好久不用 我也会忘 但是不懂的就百度查一下找答案的地方很多 {:10_256:} while 1:
num = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
while (length == 0 or passwd.isspace()):
passwd = input('输入密码为空,请重新输入:')
length = len(passwd)
if length <= 8:
flag_len = 1
elif length >= 16:
flag_len = 3
else:
flag_len = 2
flag_con = 0
for each in passwd:
if each in num:
flag_con += 1
break
for each in passwd:
if each in alpha:
flag_con += 1
break
for each in passwd:
if each in extra:
flag_con += 1
break
while 1:
print('您的密码安全级别评定为:',end='')
if flag_len == 1 or flag_con == 1:
print('低')
elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
print('高')
print('请继续保持')
break
else:
print('中')
print('"请按以下方式提升您的密码安全级别:\n\
\t1.密码必须由数字、字母及特殊字符三种组合\n\
\t2.密码只能由字母开头\n\
\t3.密码长度不低于16位')
break
break
while 1:
num = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
while (length == 0 or passwd.isspace()):
passwd = input('输入密码为空,请重新输入:')
length = len(passwd)
if length <= 8:
flag_len = 1
elif length >= 16:
flag_len = 3
else:
flag_len = 2
flag_con = 0
for each in passwd:
if each in num:
flag_con += 1
break
for each in passwd:
if each in alpha:
flag_con += 1
break
for each in passwd:
if each in extra:
flag_con += 1
break
while 1:
print('您的密码安全级别评定为:',end='')
if flag_len == 1 or flag_con == 1:
print('低')
elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
print('高')
print('请继续保持')
break
else:
print('中')
print('"请按以下方式提升您的密码安全级别:\n\
\t1.密码必须由数字、字母及特殊字符三种组合\n\
\t2.密码只能由字母开头\n\
\t3.密码长度不低于16位')
break
break
while 1:
num = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
while (length == 0 or passwd.isspace()):
passwd = input('输入密码为空,请重新输入:')
length = len(passwd)
if length <= 8:
flag_len = 1
elif length >= 16:
flag_len = 3
else:
flag_len = 2
flag_con = 0
for each in passwd:
if each in num:
flag_con += 1
break
for each in passwd:
if each in alpha:
flag_con += 1
break
for each in passwd:
if each in extra:
flag_con += 1
break
while 1:
print('您的密码安全级别评定为:',end='')
if flag_len == 1 or flag_con == 1:
print('低')
elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
print('高')
print('请继续保持')
break
else:
print('中')
print('"请按以下方式提升您的密码安全级别:\n\
\t1.密码必须由数字、字母及特殊字符三种组合\n\
\t2.密码只能由字母开头\n\
\t3.密码长度不低于16位')
break
break
while 1:
num = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
while (length == 0 or passwd.isspace()):
passwd = input('输入密码为空,请重新输入:')
length = len(passwd)
if length <= 8:
flag_len = 1
elif length >= 16:
flag_len = 3
else:
flag_len = 2
flag_con = 0
for each in passwd:
if each in num:
flag_con += 1
break
for each in passwd:
if each in alpha:
flag_con += 1
break
for each in passwd:
if each in extra:
flag_con += 1
break
while 1:
print('您的密码安全级别评定为:',end='')
if flag_len == 1 or flag_con == 1:
print('低')
elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
print('高')
print('请继续保持')
break
else:
print('中')
print('"请按以下方式提升您的密码安全级别:\n\
\t1.密码必须由数字、字母及特殊字符三种组合\n\
\t2.密码只能由字母开头\n\
\t3.密码长度不低于16位')
break
break
temp = input("按7退出")
guess = int(temp)
if guess == 7:
print("掰掰")
兴趣很重要。对编程有兴趣的话,每学完一个知识点都会不由自主地想写段程序实战一下,搞不定的也会去Google或者百度,或者来论坛求助,知识面自然而然地越扩越广。 我在学习一门语言的时候有时候也会出现你这样的情况,一般来说是正常的,但要解决它也只有你自己可以做到。
看得懂答案但是自己写不出来就跟着答案敲,敲一遍,两遍,理解答案中每一行代码的思路,不懂就发帖问别人,想着我一定要把这个问题克服,久而久之你就真的克服了。
编程最重要的是思维灵活,面对题时要有思路,这个是要锻炼出来的,你可以多多刷题,多多看大神们的代码,学习大神们的思路,久而久之你的思维就灵活起来了。
最重要的是兴趣,没人强迫你学习编程,你能靠的只有你自己,有兴趣了自然就会继续学下去,加油吧。 一天1~2课如果觉得应付不过来,可以改成一天1课
只要每节课学完后认真完成课后题就行了 我感觉记笔记发到论坛上然后回答论坛上别人的问题还有自己主动提问题是个不错的途径!
第一点可以让自己被迫有了学习的动力,因为要把自己的笔记展示出来,在听课的时候也会更加仔细,记的也会很详细,这样在后面查找的时候很方便!
第二点可以让自己很有成就感,哈哈。在众多回答中,当提问者选择了你作为最佳答案的时候爽爆~,这也是我学习的动力之一吧!
第三点可以让自己更有代入感,而且与他人探讨的过程中也会遇到自己的技术空白,顺便也可以弥补!
以上三点我都有在做,甚至有种以论坛为家的感觉,哈哈!
这个是我的笔记
这是我的回答
这一个也是,哈哈
这个是我的提问
希望对你能有帮助~ 我现在也在从零开始学{:10_250:}其实这些题是要先思考理解的,虽然答案巨长,但是仔细研究后发现原来挺简单的 如果有些忘了前面的内容什么的也可以回看一两遍,我还做了很多笔记{:10_250:}
想要快速掌握不简单,但是慢慢了解消化,进步还是不难的{:10_266:} 本帖最后由 珍珠是认真的 于 2020-4-10 05:54 编辑
Hello,我是小白,我经常结题思路没有很清晰,会有一两点很零散的思路,也是经常报错,感觉我的学习进度也是非常慢,课后练习就可以磕很久,大大打击我学习的信心,我觉得发帖问问题这个挺好的,可以看到其他鱼友的思路和感受到他们的学习热情。
hrp 发表于 2020-4-9 20:50
兴趣很重要。对编程有兴趣的话,每学完一个知识点都会不由自主地想写段程序实战一下,搞不定的也会去Google ...
Google 就别想了,我访问不了 学完了基础理论之后,你可以尝试看看 奇技淫巧 ,会告诉你很多你都不可能想到的用法 我上次看见你的时候,你还在看while循环,现在都研究这么长的东西了{:10_266:}。我学习也停了一段时间了前面有些细节忘了,准备在复习一下 _2_ 发表于 2020-4-10 07:58
Google 就别想了,我访问不了
梯子自备 yexing 发表于 2020-4-9 21:03
我在学习一门语言的时候有时候也会出现你这样的情况,一般来说是正常的,但要解决它也只有你自己可以做到。 ...
在哪里找题刷呢?
hrp 发表于 2020-4-10 10:42
梯子自备
……给我梯子让我见见世面 焰珺晴 发表于 2020-4-10 11:11
在哪里找题刷呢?
https://www.leetcode-cn.com/
关于这个网站,我只想用一个表情描述{:10_266:} 乘号 发表于 2020-4-9 20:16
请问这个是?我上面代码的另一种方法吗?
leon_xinxin 发表于 2020-4-9 23:08
我感觉记笔记发到论坛上然后回答论坛上别人的问题还有自己主动提问题是个不错的途径!
第一点可以让自己被 ...
你用的是OneNote做笔记吧,我也一样呢,你回答里面的那个方法太棒了{:5_106:} 珍珠是认真的 发表于 2020-4-10 05:53
Hello,我是小白,我经常结题思路没有很清晰,会有一两点很零散的思路,也是经常报错,感觉我的学习进度也 ...
一起加油!!! 焰珺晴 发表于 2020-4-10 11:15
请问这个是?我上面代码的另一种方法吗?
是的
页:
[1]
2