鱼C论坛

 找回密码
 立即注册
查看: 1290|回复: 2

[已解决]020讲求助小细节求助。

[复制链接]
发表于 2022-4-29 16:27:38 | 显示全部楼层 |阅读模式

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

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

x
以下代码是020关于判断 各种括号是否合法的部分代码。

s = []
for i in range(6):
   
    temp = input('请输入测试字符串:')
    if temp not in ['(', ')', '{', '}', '[', ']']:
        print('请不要输入括号意外的字符')
        continue
    else:
        s.append(temp)

现在遇到的问题是这样子的。
这是一个需要循环6次的循环。 我希望获取的内容是“(){}[]” 这六个括号。 用这个代码的话, 假如我其中一次输入的不是括号, 是其他的东西的话, 它接下去会再循环5次就结束了。
怎么改才能让他的循环不算上出错的那一次, 接着把6个括号给输入完?


最佳答案
2022-4-29 17:05:21


可以套个  while 循环,将 if 中的 continue 删除,在 else 中添加 break,参考代码:
s = []
for i in range(6):
    while 1:
        temp = input('请输入测试字符串:')
        if temp not in ['(', ')', '{', '}', '[', ']']:
            print('请不要输入括号意外的字符')
        else:
            s.append(temp)
            break

或者直接用 while 循环,外部用一个 count 记录执行次数,若不符合条件则 count 不增加,反之 +1
s = []
count = 0
while count < 6:
    temp = input('请输入测试字符串:')
    if temp not in ['(', ')', '{', '}', '[', ']']:
        print('请不要输入括号意外的字符')
    else:
        s.append(temp)
        count += 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-29 17:05:21 | 显示全部楼层    本楼为最佳答案   


可以套个  while 循环,将 if 中的 continue 删除,在 else 中添加 break,参考代码:
s = []
for i in range(6):
    while 1:
        temp = input('请输入测试字符串:')
        if temp not in ['(', ')', '{', '}', '[', ']']:
            print('请不要输入括号意外的字符')
        else:
            s.append(temp)
            break

或者直接用 while 循环,外部用一个 count 记录执行次数,若不符合条件则 count 不增加,反之 +1
s = []
count = 0
while count < 6:
    temp = input('请输入测试字符串:')
    if temp not in ['(', ')', '{', '}', '[', ']']:
        print('请不要输入括号意外的字符')
    else:
        s.append(temp)
        count += 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 20:06:12 | 显示全部楼层
Twilight6 发表于 2022-4-29 17:05
可以套个  while 循环,将 if 中的 continue 删除,在 else 中添加 break,参考代码:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 14:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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