|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
times = 3
password = "chen"
while times: #循环 "times"
passwd = input("请输入密码:")
if passwd == password:
print("密码输入正确")
break
elif "*" in passwd:
print("密码中不能含有"*" 你还有 times 次机会,end=" "")
continue
else:
times -= 1
print("密码不正确 你还有 ,times-1, 次机会输入")
要求是 设置一个检验密码的程序 一共有3次机会 如果输入内容带有“*” 则不减机会次数
代码打了以后出现两个问题
1。 当输入 * 号时 出现红字
print("密码中不能含有"*" 你还有 times 次机会,end=" "")
TypeError: can't multiply sequence by non-int of type 'str'
2。输入错误时 直接提示的 “你还有 times-1 次机会" 而不是times-1 的结果的次数 (但是3次后 循环正常停止)
请问这是为什么
代码出错在最后一行,不知道你学到 % 格式化运算符没有,如果没有学到,
你可以无视第一种正确代码。
你需要将你需要输出的变量,放到print函数中。
- print("密码不正确 你还有 ,times-1, 次机会输入") #你的代码
- print("密码不正确 你还有 ,%d, 次机会输入" % times) #正确代码(第一种)
- print("密码不正确 你还有 ," + times + ", 次机会输入") #正确代码(第二种)
复制代码
如果有帮助,请设置为最佳答案,谢谢
|
|