了不起的分支和循环3之设计一个验证用户密码程序
本帖最后由 枫枫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就不会看错了 KevinHu 发表于 2020-4-5 10:30
第6行:print('密码中不能有'*'号')
这里python误认为了是:"密码中不能有" 乘 " ...
谢谢,但为什么' '会识别错误呢 枫枫duck 发表于 2020-4-5 10:32
谢谢,但为什么' '会识别错误呢
正常来写应该是要加逗号的(并且把*号改变为字符串):
print('密码中不能有','*','号')
而你又没写逗号,又没写引号
肯定要被误认的 qiuyouzhi 发表于 2020-4-5 10:35
正常来写应该是要加逗号的(并且把*号改变为字符串):
print('密码中不能有','*','号')
而你又没写逗 ...
那是不是说“ ”和' '不同呢“”功能多一点
枫枫duck 发表于 2020-4-5 10:37
那是不是说“ ”和' '不同呢“”功能多一点
不是的,他俩一样
页:
[1]