Python已经流行很久了,作为代码爱好者(呵呵哒,其实只学过c),跟着一起学起来~
首先,说下想学Python的原因。之前有在学校学习过c语言,结合着单片机等硬件来用还是蛮有意思。后来又流行面向对象的C++等,也自学过一段时间,但都觉得思维受到代码语法本身局限的过多。因此,在刚接触Python的时候,心情是畅快的,因为读着代码就像读着故事一样(仅限于目前接触到的简单的不能再简单的程序)。并且,能够很快将你的思想以可见的形式展示出来,因此,深深的爱上了她。还有一个原因是,作为一个想在软测行业长期立足有所发展的童鞋来说,不懂代码怎么行?作为自动化的爱好者,不会写脚本怎么行?因此咯,我决定好好来学一学Python。
Python第一洼~
更改登录密码
错误代码示例:
password_list = ['*#*#', 'abc'] def user_login(): password = input("Please input your password:") if password == password_list[-1]: print('Login success~') elif password == password_list[0]: new_password = input('Please input your new password: ') password_list.append(new_password) else: print('You have input a wrong password, please try again:') user_login() user_login()结果如下:
Please input your password:*#*#
Please input your new password: 123
Please input your password:123
Login success~
Please input your password:
正常来讲,登录成功之后就会进入到下一步,而这里却一直在循环着让输入密码。
错误之处在于:调用user_login()的位置不对。我在判断中做相应的操作(密码正确/错误打印提示,更改密码时储存新密码),却总是在函数的末尾-判断条件之外来调用该函数,那么当然没个头儿啦,这样就造成了死循环出不来。因此,必须在判断结果下就调用—继续执行判断,正确将跳出该函数,错误或者重置都要重新调用该函数,因此正确代码如下:
password_list = ['*#*#', 'abc'] def user_login(): password = input("Please input your password:") if password == password_list[-1]: print('Login success~') elif password == password_list[0]: new_password = input('Please input your new password: ') password_list.append(new_password) user_login() else: print('You have input a wrong password, please try again:') user_login() user_login()
得到的经验教训:
在写代码时,要分析函数的起调位置与结束位置,主要是看其有无一个终结,能否跳的出来。