鱼C论坛

 找回密码
 立即注册
查看: 1568|回复: 3

[已解决]【课后习题】此处的continue去除效果与原本有何不同?

[复制链接]
发表于 2020-3-5 22:42:25 | 显示全部楼层 |阅读模式

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

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

x
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

去除continue 将count -= 1缩进到else下 程序运行效果相同
但小甲鱼原本这样写是否运行效率更高还是怎么
最佳答案
2020-3-6 01:37:19
b = 0
while b < 2:
    a = int(input("请输入一个数字:"))
    b += 1
    if a > 0:
        print("a大于0!")  #第1句
    else:
        print("a不大于0!") #第2句
        continue
    print("a是正数!") #第3句

continue是跳过接下来的所有步骤,开始下一轮循环,也就是返回到while语句继续执行;
举个简单例子:
如果这里输入的a为1,就会输出第1句和第3句;
如果输入的a为0,只会输出第2句,就走到continue,那么接下来的第3句就不会执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-5 22:43:47 | 显示全部楼层
continue直接返回从while开始 可以少去开头的count和password的赋值再来一遍从而减少运行负担是这样么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 01:37:19 | 显示全部楼层    本楼为最佳答案   
b = 0
while b < 2:
    a = int(input("请输入一个数字:"))
    b += 1
    if a > 0:
        print("a大于0!")  #第1句
    else:
        print("a不大于0!") #第2句
        continue
    print("a是正数!") #第3句

continue是跳过接下来的所有步骤,开始下一轮循环,也就是返回到while语句继续执行;
举个简单例子:
如果这里输入的a为1,就会输出第1句和第3句;
如果输入的a为0,只会输出第2句,就走到continue,那么接下来的第3句就不会执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 08:08:23 | 显示全部楼层
如果去掉了 continue ,用户输入含有 * 星号的密码也算扣掉了一次机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 01:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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