鱼C论坛

 找回密码
 立即注册
查看: 752|回复: 4

[已解决]一个问题

[复制链接]
发表于 2019-2-15 11:12:51 | 显示全部楼层 |阅读模式

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

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

x
print("1.两只老虎2.数鸭子3.jingle bells4.小星星")
temp = input("请选出你最喜欢的歌曲:")
a = int(temp)
r = 3
s = 0
if a == 1:
        print("两只老虎,两只老虎,\
               跑得快,跑得快,\
                一只没有眼睛,一只没有尾巴,\
                真奇怪,真奇怪。")
elif a == 2:
    print("门前大桥下,游着一群鸭。\
            快来快来数一数,2,4,6,7,8。\
            咕嘎咕嘎,真呀真多呀。\
            数不清到底多少鸭,数不清到底多少鸭。")
elif a == 3:
     print("Dashing through the snow. In a one-horse open sleigh. over the fields we go, Laughing all the way.Bells on bob-tail ring. Making spirits bright.what fun it is to ride and sing in a sleing song tonight. jingle bells,jingle bells,jingle all the way. oh what fun it is ride and sing in a one horse open slea")
     
     
elif a == 4:
     print("一闪一闪亮晶晶,每天都是小星星。\
            挂在天上发光明,好像无数小眼睛。\
            一闪一闪亮晶晶,每天都是小星星。")
elif a < 1 or a > 4:
        print("输入错误!")
        r += 1
        s=s+1
while 1 < 2:
    r -= 1
    if r == 0:
        break   
    print("1.两只老虎2.数鸭子3.jingle bells4.小星星")
    temp = input("请再次选出你最喜欢的歌曲:")
    a = int(temp)
    if a > 4 or a < 1:        
        print("输入错误!")
        r += 1
        s = s+1
        continue
    elif s == 5:
        print("由于您输入错误次数过多,所以请重新运行程序!")
        break
    elif a == 1:
        print("两只老虎,两只老虎,\
               跑得快,跑得快,\
                一只没有眼睛,一只没有尾巴,\
                真奇怪,真奇怪。")
    elif a == 2:
        print("门前大桥下,游着一群鸭。\
                快来快来数一数,2,4,6,7,8。\
                咕嘎咕嘎,真呀真多呀。\
                数不清到底多少鸭,数不清到底多少鸭。")
    elif a == 3:
        print("Dashing through the snow. In a one-horse open sleigh. over the fields we go, Laughing all the way.Bells on bob-tail ring. Making spirits bright.what fun it is to ride and sing in a sleing song tonight. jingle bells,jingle bells,jingle all the way. oh what fun it is ride and sing in a one horse open slea")
        
    elif a == 4:
        print("一闪一闪亮晶晶,每天都是小星星。\
                挂在天上发光明,好像无数小眼睛。\
                一闪一闪亮晶晶,每天都是小星星。")
print("点歌结束,再见!")
为什么我输入上面这段脚本后连续5次输入8还没有退出循环?请大佬解答!
最佳答案
2019-2-15 12:20:58
tommyyu 发表于 2019-2-15 12:11
首先,我在最前面将r初始化为3,在前面不在循环的那一块如果输入错误的话,s += 1,然后每一次循环如果输 ...

根本不会走到判断 s==5
因为前面的if成立,直接continue,进入下一轮循环,而且是elif的关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-15 11:29:51 | 显示全部楼层
昨天不是问了吗?
一直输入8,你的while循环条件满足不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-15 11:31:03 | 显示全部楼层
输入错误重新循环  导致不能退出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-2-15 12:11:49 | 显示全部楼层
BngThea 发表于 2019-2-15 11:29
昨天不是问了吗?
一直输入8,你的while循环条件满足不了

首先,我在最前面将r初始化为3,在前面不在循环的那一块如果输入错误的话,s += 1,然后每一次循环如果输入错误的话,s+=1,如果s==5(连续输入5次都不正确的话)退出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-15 12:20:58 | 显示全部楼层    本楼为最佳答案   
tommyyu 发表于 2019-2-15 12:11
首先,我在最前面将r初始化为3,在前面不在循环的那一块如果输入错误的话,s += 1,然后每一次循环如果输 ...

根本不会走到判断 s==5
因为前面的if成立,直接continue,进入下一轮循环,而且是elif的关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 17:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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