python第9讲输入密码题不太懂
0. 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。以下是我写的代码:
password = 'FishC.com'
secret = '*'
answer = input('请输入密码:')
i = 3
while i:
if answer == password:
print('密码正确,进入程序......')
break
else:
i -= 1
print('密码输入错误!您还有', i, '次机会!请输入密码:')
for secret in password:
print('密码中不能含有"*"号!您还有3次机会!请输入密码:')
break
当输入正确答案时,是没有问题的;
但是输入*时,结果会连print('密码输入错误!您还有', i, '次机会!请输入密码:') 这句一起打印了...直到机会用完。。。
然后看答案用了elif '*' in passwd:,这个语法是什么时候讲的呢?语法是和for一样,适用于if或者elif中吗? '*' in passwd 这是一个独立的表达式,用于判断 '*' 是否存在于 passwd 中 zltzlt 发表于 2020-8-20 17:06
'*' in passwd 这是一个独立的表达式,用于判断 '*' 是否存在于 passwd 中
OK,明白了,谢谢 in是成员资格运算符,in用于检查一个值是否在序列中,如果在序列中返回true,否则返回false,这个语法小甲鱼在上一讲中出的作业题目中有,课堂上是没有提到的 小白到大佬 发表于 2020-8-20 23:59
in是成员资格运算符,in用于检查一个值是否在序列中,如果在序列中返回true,否则返回false,这个语法小甲 ...
嗯嗯,,明白了,我也找到了,谢谢
页:
[1]