万仞飞霜 发表于 2020-6-21 15:58:18

课后作业第009

其中print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')里面',count,'用法小甲鱼没讲过,怎么使用啊。还有elif不习惯可以不用吗?

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

Twilight6 发表于 2020-6-21 16:00:48

本帖最后由 Twilight6 于 2020-6-21 16:07 编辑



其中print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')里面',count,'用法小甲鱼没讲过,怎么使用啊?

这里的 count 只是个普通的变量,变量名你可以随意更改,但是为了代码的可读性,尽量规范变量名

你设置为 c = 3 ,b = 3 也没问题,只要的count 都改成你重新设置的变量名就好就好,这里的作用是拿来计数的,没有什么特殊用法

你先要知道Python中 只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True

所以代码的 while 循环用 count 当作循环条件,只有当 count 的数值减少到 0 时候就退出 while 循环

还有elif不习惯可以不用吗?

这个用法和 if 完全相同呀?只是必须跟随一个if 下才能使用,当你多个条件其中一个满足其他条件就不可能满足那么用 elif 可以提高代码的效率

因为 if 和 elif 搭配使用,只要同缩进下的其中一个条件成立了,就不在进行其他 elif 的判断,提高代码效率,和普通if用法没有多大区别 为什么不用呢?

页: [1]
查看完整版本: 课后作业第009