鱼C论坛

 找回密码
 立即注册
查看: 1898|回复: 28

while循环问题

[复制链接]
发表于 2020-6-11 16:25:45 | 显示全部楼层 |阅读模式

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

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

x
设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。

passwords = 'FishC.com'
ent = input('请输入密码 (你有三次机会输入):')
times = 3
while passwords != ent:
    if times == 1:
        print ('超出输入次数 结束')
        break
    if passwords == ent:
        print ('密码正确!进入程序。。。。。')

    else:
        if ('*' in ent):
            times -= 1
            ent = input ('密码输入错误!(密码含有*符号) 你还有%d'%(times)+'机会')
        else:
            times -= 1
            ent = input ('密码输入错误!你还有%d'%(times)+'机会')



小白求助啊
其他基本上是没有问题的了,就红色加粗那里
当while循环里面条件不被满足(或者说if passowrds == ent)的时候,就退出循环了?
为什么不打印下一句  print ('密码正确!进入程序。。。。。')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-11 16:28:17 | 显示全部楼层
本帖最后由 Mike_python小 于 2020-6-11 16:32 编辑

因为 你设置的是passwords != ent 所以 passwords = ent是不可能被执行的
给你改一下代码:
passwords = 'FishC.com'
ent = input('请输入密码 (你有三次机会输入):')
times = 3
while True:
    if times == 1:
        print ('超出输入次数 结束')
        break
    if passwords == ent:
        print ('密码正确!进入程序。。。。。')
        break
    else:
        if ('*' in ent):
            times -= 1
            ent = input ('密码输入错误!(密码含有*符号) 你还有%d'%(times)+'机会')
        else:
            times -= 1
            ent = input ('密码输入错误!你还有%d'%(times)+'机会')

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2020-6-11 16:28:48 | 显示全部楼层
如果可以的话 设置个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:30:44 | 显示全部楼层
本帖最后由 1223253411 于 2020-6-11 16:32 编辑
Mike_python小 发表于 2020-6-11 16:28
因为 你设置的是passwords != ent 所以 passwords = ent是不可能被执行的
给你改一下代码:


我觉的最后的print不能放在最后
因为这样的话无论成不成功都会打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:30:49 | 显示全部楼层
我现在改了一下 你看改之后的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:31:49 | 显示全部楼层
而且你还有个错误 就是输入 * 号 也算入次数了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:32:15 | 显示全部楼层
1223253411 发表于 2020-6-11 16:30
我觉的最后的print不能放在最后
因为这样的话无论成不成功都会打印
加个else吧

谢谢提醒 已改正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:34:18 | 显示全部楼层
passwords = 'FishC.com'
ent = input('请输入密码 (你有三次机会输入):')
times = 3
while passwords != ent:
    if times == 1:
        print ('超出输入次数 结束')
        break
    else:
        if ('*' in ent):
            ent = input ('密码输入错误!(密码含有*符号) 你还有%d'%(times)+'机会')
        else:
            times -= 1
            ent = input ('密码输入错误!你还有%d'%(times)+'机会')
    if passwords == ent:
        print ('密码正确!进入程序。。。。。')
if times == 3 :
    print('恭喜你!第一次就猜中了!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:35:44 | 显示全部楼层
Mike_python小 发表于 2020-6-11 16:33
我去 你这叫 先占楼 在解答 你好狠呀
这样别人以为我是抄袭 你是最佳
你这

不是先占在答  我是第一次说错了 然后改了  我第一次说是 times 的原因

而且你有实力怕什么抄袭?自己不是抄袭就不是!你观念要摆正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:37:57 | 显示全部楼层
Mike_python小 发表于 2020-6-11 16:37
我却最佳……
但是这用真的容易被误解

唉  无语了我... 你自己看吧,不和你说了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:38:48 | 显示全部楼层
Mike_python小 发表于 2020-6-11 16:33
我去 你这叫 先占楼 在解答 你好狠呀
这样别人以为我是抄袭 你是最佳
你这

这也是一种策略……先到先得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:40:59 | 显示全部楼层
本帖最后由 Mike_python小 于 2020-6-11 16:43 编辑
KevinHu 发表于 2020-6-11 16:38
这也是一种策略……先到先得


@Twilight6 下次我也用用 看我最佳涨不涨
而且你说这是不是会被误解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:40:59 | 显示全部楼层
本帖最后由 1223253411 于 2020-6-11 16:49 编辑

什么鬼
passwords = 'FishC.com'
times = 3  # 当成计数器吧,循环一次减一次
while times > 0:
    ent = input("请输入密码:")
    if passwords == ent:
        print ('密码正确!进入程序。。。。。')
        break
    else:
        if '*' in ent:
            print('密码输入错误!(密码含有*符号) 你还有%d'%(times)+'机会')
        else:
            times -= 1
            print('密码输入错误!你还有%d'%(times)+'机会')

这样不是更好嘛
times用来当计数器
抛弃不用的东西
又简单,代码可读性又挺高
如果用elif的话更简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:42:49 | 显示全部楼层

我主要是急
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:43:37 | 显示全部楼层
Mike_python小 发表于 2020-6-11 16:40
@Twilight6 下次我也用用 看我最佳涨不涨
而且你说这是不是会被误解

。。。。。
你心眼也太小了吧
为一个最佳斤斤计较?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:44:27 | 显示全部楼层
qiuyouzhi 发表于 2020-6-11 16:43
。。。。。
你心眼也太小了吧
为一个最佳斤斤计较?

这个事情我不想谈论了 我删帖了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:47:04 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:50:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:51:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-11 16:51:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 16:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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