|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 枫枫duck 于 2020-4-5 10:26 编辑
题目:设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
- secret = 'FishC'
- times = 3
- while times > 0:
- temp = input('请输入密码')
- if '*' in temp:
- print('密码中不能有'*'号')
- continue
- else:
- if temp == secret:
- print('密码正确,进入程序')
- break
- else:
- print('还有' ,times-1, '次机会')
- times-= 1
-
复制代码
出现了如下错误,但我不知道为什么,'*'不是字符串吗,为什么python认为是*号
TypeError: can't multiply sequence by non-int of type 'str'
>>>
第6行:print( '密码中不能有'* '号')
这里python误认为了是: "密码中不能有" 乘 "号"
解决方案:
- print('密码中不能有\'*\'号') # 利用转义字符'\'
复制代码- print("密码中不能有'*'号") # 单引号和双引号结合python就不会看错了
复制代码
|
|