鱼C论坛

 找回密码
 立即注册
查看: 1881|回复: 7

第009讲中的用户密码程序

[复制链接]
发表于 2017-11-19 11:27:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含“*”则不计算在内。
  1. password1 = 'hj123'
  2. i=3
  3. while 0 < i < 4:
  4.     password2 = input("请你输入你的密码:")
  5.     if password2 == password1:
  6.         print('密码正确,进入程序中.......')
  7.         break
  8.     elif '*' in password2:
  9.         print('密码中不能有含有“*”')
  10.     else:
  11.         i-=1
  12.         print('对不起你输入的密码有误,你还有{}次机会!'.format(i))
复制代码

刚刚和小甲鱼老师的代码进行核对时发现老师在elif‘*’ in password2:中加了continue语句,请问一下加它与不加它区别在什么地方呢,我没有加他和加了他执行起来效果是一样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-19 11:52:36 From FishC Mobile | 显示全部楼层
本帖最后由 BngThea 于 2017-11-19 13:26 编辑

可以不加,也完全正确。
如果和你一样的写法,答案里的continue就多余了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-19 12:21:34 | 显示全部楼层
不一样,请仔细阅读源代码。
  1. count = 3
  2. password = 'FishC.com'

  3. while count:
  4.     passwd = input('请输入密码:')
  5.     if passwd == password:
  6.         print('密码正确,进入程序......')
  7.         break
  8.     elif '*' in passwd:
  9.         print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
  10.         continue
  11.     else:
  12.         print('密码输入错误!您还有', count-1, '次机会!', end=' ')   
  13.     count -= 1
复制代码

根据源代码,如果你输入了*,他就会continue,跳过最后一步count-1,你去掉了,自己试试,就会发现输入*也会减掉你的机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-11-19 20:32:05 | 显示全部楼层
新手·ing 发表于 2017-11-19 12:21
不一样,请仔细阅读源代码。

根据源代码,如果你输入了*,他就会continue,跳过最后一步count-1,你去掉 ...

我是把count -= 1放在else条件下,不存在你这个问题呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 21:21:44 | 显示全部楼层
你是石乐志
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 22:18:34 | 显示全部楼层
你自己的程序,连续输入3次带*号的密码,你程序就结束了。小甲鱼的连续输入3次带*号的密码,还是有3次机会,你懂了没。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-21 09:03:19 | 显示全部楼层
_油猫饼 发表于 2017-11-20 22:18
你自己的程序,连续输入3次带*号的密码,你程序就结束了。小甲鱼的连续输入3次带*号的密码,还是有3次机会 ...

我的不会结束啊输入*不会增加次数的,不信你自己试呀,你是把count -= 1放在了else缩进外肯定会加次数啊如果没有continue的话输入*号也是加次数,但把count -= 1放在else中就不会有这个情况了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-21 17:33:45 | 显示全部楼层
像番茄加两个蛋 发表于 2017-11-19 20:32
我是把count -= 1放在else条件下,不存在你这个问题呀

你说的源代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 14:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表