鱼C论坛

 找回密码
 立即注册
查看: 2598|回复: 5

[已解决]零基础python课后作业的问题

[复制链接]
发表于 2017-6-23 17:49:03 | 显示全部楼层 |阅读模式

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

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

x
零基础入门学习pyrhon分支循环作业,编写一个密码验证程序,代码如下

password = input('请输入密码:')
count = 3
passwd = "ifishc"
flag = 1
while count != 0:
    if flag == 0:
        for each in password:
            if each == '*':        
                print('密码中不能含有"*"号!你还有%d次机会!请输入密码:'%count,end=' ')
                password = input()
                break
            break
        flag = 1
        
    elif flag == 1:
        if password == passwd:
            print('密码正确,进入程序......')
            break
        else:
            print('密码错误!你还有%d次机会!请输入密码:'%count,end=' ')
            count -= 1
            flag = 0
            input()

出现的问题是可以是被全“*”,也可以别字符,但是当在次输入字符时,就会不断的消耗次数,问题应该处在for循环中,求高人指点。
最佳答案
2017-6-23 21:28:42
建议使用成员操作符
if '*' in password:
至少省去一个循环
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-23 17:58:42 | 显示全部楼层
  1. password = input('请输入密码:')
  2. count = 3
  3. passwd = "ifishc"
  4. flag = 1
  5. while count != 0:
  6.     if flag == 1:
  7.         if password == passwd:
  8.             print('密码正确,进入程序......')
  9.             break
  10.         else:
  11.             print('密码错误!你还有%d次机会!请输入密码:'%count,end=' ')
  12.             count -= 1
  13.             flag = 0
  14.             input()
  15.     elif flag == 0:
  16.         for each in password:
  17.             if each == '*':        
  18.                 print('密码中不能含有"*"号!你还有%d次机会!请输入密码:'%count,end=' ')
  19.                 password = input()
  20.                 break
  21.         
复制代码

评分

参与人数 1荣誉 +5 鱼币 +1 贡献 +3 收起 理由
wennr + 5 + 1 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-23 17:59:27 | 显示全部楼层
还有一个问题,建议不要弄flag,很乱
现在还有一个bug
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-23 21:28:42 | 显示全部楼层    本楼为最佳答案   
建议使用成员操作符
if '*' in password:
至少省去一个循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-23 23:00:05 | 显示全部楼层
还有一个问题,建议不要弄flag,很乱
现在还有一个bug

想了一下好像很难用这种循环的方式解决问题,因为无法在内外循环间准确的跳来跳去,总会有出问题的地方,无法很好的达成要求。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-24 18:09:39 | 显示全部楼层
试了楼主的程序,如果第一次输入的是错误的 ,后面再输入正确的密码还是提示的是错误的密码 ,有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-28 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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