代码问题求助
如图,这是小甲鱼课后作业第20讲最后一题,监测输入的括号是否是对的。但是我的代码中,我输入“()”也是说不对,请问代码哪儿错了。。。。 本帖最后由 歌者文明清理员 于 2023-5-30 21:11 编辑完整代码:
list = []
my_str = input("请输入测试字符串:")
list.extend(my_str)
if len(list)%2!=0:
print("不合法T_T")
else:
brackets = list('([{}])')
for i in range(len(list)//2):
if list+list[-(i+1)]==(brackets+brackets[-1]) or (brackets+
brackets[-2]) or (brackets+brackets[-3]):
print("合法^o^")
else:
print("不合法T_T")
你这代码烂透了{:10_277:} https://t4.wodetu.cn/2023/05/28/bc82d0663bc15a9bded8cb88cbaacfec.png
my_str = input("请输入测试字符串:")
# 将字符串转换成列表
my_list = list(my_str)
# 新建一个字典用于存储括号匹配关系
brackets_dict = {'(':')', '[':']', '{':'}'}
stack = []
# 遍历列表中的每一个字符
for i in my_list:
# 如果当前字符是左括号,则将其压入栈中
if i in brackets_dict.keys():
stack.append(i)
# 如果当前字符是右括号,则取出栈顶元素进行匹配
elif i in brackets_dict.values():
# 如果当前栈已经为空,则说明不合法
if len(stack) == 0:
print("不合法T_T")
break
# 取出栈顶元素
top = stack.pop()
# 如果当前右括号和栈顶左括号不匹配,则说明不合法
if brackets_dict != i:
print("不合法T_T")
break
else:
# 程序执行到这里,说明所有字符都匹配上了
if len(stack) == 0:
print("合法^o^")
else:
print("不合法T_T")
my_str = input("请输入测试字符串:")
# 将字符串转换成列表
my_list = list(my_str)
# 新建一个字典用于存储括号匹配关系
brackets_dict = {'(':')', '[':']', '{':'}'}
stack = []
# 遍历列表中的每一个字符
for i in my_list:
# 如果当前字符是左括号,则将其压入栈中
if i in brackets_dict.keys():
stack.append(i)
# 如果当前字符是右括号,则取出栈顶元素进行匹配
elif i in brackets_dict.values():
# 如果当前栈已经为空,则说明不合法
if len(stack) == 0:
print("不合法T_T")
break
# 取出栈顶元素
top = stack.pop()
# 如果当前右括号和栈顶左括号不匹配,则说明不合法
if brackets_dict != i:
print("不合法T_T")
break
else:
# 程序执行到这里,说明所有字符都匹配上了
if len(stack) == 0:
print("合法^o^")
else:
print("不合法T_T") 歌者文明清理员 发表于 2023-5-28 22:22
完整代码:
你这代码烂透了
经常犯一些低级错误{:5_102:}怎么才能更好地克服这一点啊。。。。。无语。。
还有我在用您这个代码的时候,弹出TypeError: 'list' object is not callable这个错误是为什么啊 ansire 发表于 2023-5-30 20:56
经常犯一些低级错误怎么才能更好地克服这一点啊。。。。。无语。。
还有我在用您这个代码的时 ...
sorry,我代码敲错了,改了 歌者文明清理员 发表于 2023-5-28 22:22
完整代码:
你这代码烂透了
C:\Users\86188\Desktop\图片1.png
用了你的代码后,怎么每一行代码后都带了一个空白行
页:
[1]