鱼C论坛

 找回密码
 立即注册
查看: 1042|回复: 6

[已解决]第9课课后作业问题

[复制链接]
发表于 2018-3-7 10:28:51 | 显示全部楼层 |阅读模式

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

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

x
password = str(123)
time = 1
temp = input('请输入密码:')
while 1<=time <= 3 :
    if '*' in temp:
        print('密码中不能含有"*"号!您还有', 4-time, '次机会!', end=' ')
        temp = input('请输入密码:')
        continue
    elif temp != password :  
        print('密码输入错误,您还有',3-time,'次机会',end='')
        if 3-time > 0:
            temp = input('请输入密码:')
            time += 1
    else:
        print('密码正确,进入程序......')
        break
程序如上
问题1:以下语句在最后一次输入密码后,会无限循环,为什么?
加了break就可以了?
  if 3-time > 0:
            temp = input('请输入密码:')
            time += 1

问题2:以下语句的continue,是返回到while中,如果while下有多个while,continue会返回到哪里?
while 1<=time <= 3 :
    if '*' in temp:
        print('密码中不能含有"*"号!您还有', 4-time, '次机会!', end=' ')
        temp = input('请输入密码:')
        continue
最佳答案
2018-3-7 10:49:05
1.time = 3 时j就不会进入 if 语句进行增加了,所以 while 会无限循环。
2.while 下有多个while, continue在哪个while里就返回哪个while,break也是一样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-7 10:39:25 | 显示全部楼层
password = str(123)是要干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-7 10:44:49 | 显示全部楼层
问题1:
   if 3-time > 0:
            temp = input('请输入密码:')
            time += 1
当第三次输入密码时,time=3,所以3-time > 0 为假,所以不执行对应缩进的操作,同时没有对应的else,所以直接继续循环,time值不变,因此无限循环。

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

使用道具 举报

发表于 2018-3-7 10:49:05 | 显示全部楼层    本楼为最佳答案   
1.time = 3 时j就不会进入 if 语句进行增加了,所以 while 会无限循环。
2.while 下有多个while, continue在哪个while里就返回哪个while,break也是一样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-7 12:17:54 | 显示全部楼层
python丶master 发表于 2018-3-7 10:44
问题1:
   if 3-time > 0:
            temp = input('请输入密码:')

谢谢,我明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-7 12:18:54 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-3-7 10:49
1.time = 3 时j就不会进入 if 语句进行增加了,所以 while 会无限循环。
2.while 下有多个while, continu ...

谢谢,一语点破梦中人啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-7 12:24:59 | 显示全部楼层
塔利班 发表于 2018-3-7 10:39
password = str(123)是要干嘛

如果是直接= 123,应该是数值类型。后面判定的时候只认字符类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 00:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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