鱼C论坛

 找回密码
 立即注册
查看: 838|回复: 8

[已解决][课后作业] 第009讲:了不起的分支和循环3 | 课后测试题及答案

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

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

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

x
第五题;我下面的代码不应该是打印出2么?运行却是不打印
while True:
    while True:
       break
       print(1)
print(2)

还有动动手0题:我的代码有什么问题么,为什么运行不了呢?
count = 3
password = 666

while count:
    passwd = input("请输入密码")
    if passwd == password:
        print("密码正确,进入程序......")
        break
     elif "*" in passwd:
         print("密码中不能含有"*"号!" "您还有",count ,"次机会!",end=" ")
         continue
     else:
         print("密码错误!您还有",count-1 "次机会!",end=" ")
count-1=1


动动手1题:强迫症想问下\t水平制表符8个数为基准,不是以第一个字母为基准么,为什么我下面的数字和字母是对不齐的呢/
代码:
print("red\tyellow\tgreen")
for red in range (0,4):
    for yellow in range (0,4):
        for green in range (2,7):
            if red + yellow + green == 8:
             print(red,"\t",yellow ,"\t" ,green)
运行结果:
red        yellow   green
0             2          6
0             3          5
1             1          6
1             2          5
1             3          4
2             0          6
2             1          5
2             2          4
2             3          3
3             0          5
3             1          4
3             2          3
3             3          2
最佳答案
2020-6-3 21:00:24
第二个问题,你的print用错了,这么修改,你这里错的有点离谱,该去重新看视屏
count = 3
password = 666

while count:
    passwd = input("请输入密码")
    if passwd == password:
        print("密码正确,进入程序......")
        break
     elif "*" in passwd:
         count = count - 1
         print("密码中不能含有'*'号!,您还有%d次机会!" %count,end=" ")
         continue
     else:
         count = count - 1
         print("密码错误,您还有%d次机会!" %count,end=" ")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-3 20:54:11 | 显示全部楼层
第一个问题,break跳出当前while循环,外面还有一个while循环,外面那个while循环又让你进入里面的while循环,所以你处于一个死循环。这么修改
while True:
    while True:
        break
        print(1)
    break
print(2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 20:56:50 | 显示全部楼层
break语句只能退出一个循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 20:57:58 | 显示全部楼层
print("密码中不能含有"*"号!" "您还有",count ,"次机会!",end=" "),这里缺了个逗号吧??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 21:00:24 | 显示全部楼层    本楼为最佳答案   
第二个问题,你的print用错了,这么修改,你这里错的有点离谱,该去重新看视屏
count = 3
password = 666

while count:
    passwd = input("请输入密码")
    if passwd == password:
        print("密码正确,进入程序......")
        break
     elif "*" in passwd:
         count = count - 1
         print("密码中不能含有'*'号!,您还有%d次机会!" %count,end=" ")
         continue
     else:
         count = count - 1
         print("密码错误,您还有%d次机会!" %count,end=" ")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 21:06:27 | 显示全部楼层
本帖最后由 BIO-张磊 于 2020-6-3 21:08 编辑

第三个问题,你把代码最后一句话改成这个
print("%d\t%d\t%d" %(red,yellow,green))
出现这个的原因,是因为你的两次print 对数据的输出格式不一致
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-5 17:50:09 | 显示全部楼层
BIO-张磊 发表于 2020-6-3 21:06
第三个问题,你把代码最后一句话改成这个
print("%d\t%d\t%d" %(red,yellow,green))
出现这个的原因,是 ...

答案就是我那样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-5 17:53:08 | 显示全部楼层
HDP1008 发表于 2020-6-5 17:50
答案就是我那样的

课后作业的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-5 21:47:36 | 显示全部楼层
HDP1008 发表于 2020-6-5 17:53
课后作业的答案

课后作业不一定都对,不同的编译器和不同的系统得到的可能是不一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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