|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- print('--------请输入你的密码------------')
- code = input('请输入密码:')
- answer == '1234567'
- i == 1
- while True:
- if '*' in code:
- code = input("密码中不能含有“*”号")
- print ("你还有三次机会")
- else:
- if code != answer and i < 3:
- code = input("密码错误,你还有{}次机会".format("3 - i"))
- i += 1
- if code != answer and i > 3:
- print("密码输入错误,你已经没有机会重新输入了。")
- break
- else:
- print("密码输入正确,进入程序。")
- break
-
复制代码
这个里面一旦运行就会出现"name ( answer ) is not defined",但是我明明就设定了answer= ‘’1234567‘’的呀,想请教一下为什么会这样子,如果大家知道的话可以告诉我一般这样xx is not defined是什么原因导致的吗?
另:我里面的in和not in 的运用是不是有些问题?
本帖最后由 wuqramy 于 2020-3-23 10:09 编辑
双等号(==)是用来判断等号两边是否相等的,赋值是用单等号(=)
代码还有隐藏的bug,正确代码如下:
- print('--------请输入你的密码------------')
- code = input('请输入密码:')
- answer = '1234567'
- i = 1
- while True:
- if '*' in code:
- code = input("密码中不能含有“*”号")
- print ("你还有三次机会")
- else:
- if code != answer and i < 3:
- code = input("密码错误,你还有{}次机会".format(3 - i))
- i += 1
- if code != answer and i > 3:
- print("密码输入错误,你已经没有机会重新输入了。")
- break
- if code == answer:
- print("密码输入正确,进入程序。")
- break
复制代码
|
|