设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中...
设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。count = 3
password = 'FishC.com'
while count:
passwd = input('请输入密码:')
if passwd == password:
print('密码正确,进入程序......')
break
elif '*' in passwd:
print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
continue
else:
print('密码输入错误!您还有', count-1, '次机会!', end=' ')
count -= 1
print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
这句代码中,count=3,count应该是整型(int)吧,而代码中的文字是字符串类型,怎么不会出现输出错误?
我的代码:
password='13579'
password1=input('请输入密码:')
i=3
while i<=3:
if password1==password :
print("密码验证成功")
break
if '*' in password1:
print('请重新输入!')
password1 = input('请输入密码:')
else:
i-=1
print("密码验证失败",'还有',i-=1,'机会!')
password1 = input('请输入密码:')
print("密码验证失败",'还有',i-=1,'机会!')我写的代码为什么i-=1也是整型数据,却会出现输出类型不一样的错误
求解 i-=1 等价于i=i-1,是赋值运算。正确代码如下password='13579'
password1=input('请输入密码:')
i=3
while i:
if password1==password :
print("密码验证成功")
break
if '*' in password1:
print('请重新输入!')
password1 = input('请输入密码:')
else:
i-=1
print("密码验证失败",'还有',i,'机会!')
password1 = input('请输入密码:') 楼上正解。赋值表达式不是字符串,它不能直接和其他字符一起输出,除非给表达式加上表示字符串特征的引号,像这样:“i -= 1”,只是加了引号表达的意思不是你原来想要的了 code="FishC.com"
times=3
while times:
i=input("请输入密码:")
if i==code:
print("密码正确,进入程序···")
break
elif '*' in i:
print("密码中不能含有'*'号,您还有',times,'次输入机会!",end='')
continue #终止本轮循环,并判断while times:是否为真,若为真则继续进行下一次循环
else:
print("密码输入错误!您还有',times-1,'次机会!",end='')
times -= 1
为什么这段程序运行后,times具体是多少显示不出来呢?只会显示:密码中不能含有'*'号,您还有',times,'次输入机会! 月亮一半 发表于 2022-9-11 22:35
code="FishC.com"
times=3
改成print('密码输入错误!您还有',times-1,'次机会!',end='')
""告诉python直接打印双引号的内容 别的不用动
print("密码验证失败",'还有', i, '次机会!")
页:
[1]