小白学Python遇到的洼~

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

得到的经验教训:

在写代码时,要分析函数的起调位置与结束位置,主要是看其有无一个终结,能否跳的出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值