python-为什么代码检测到最外面的代码)
发布时间:2020-12-17 17:35:58 所属栏目:Python 来源:网络整理
导读:这里的问题要求我反转()中的任何字符串.假设我的字符串为“ foo(bar(baz))blim”,则返回的结果为“ foobazrabblim”.有人帮助我完成了编码过程,但是,我仍然不明白为什么代码首先会检测到外部. def reverseInParentheses(inputString): n=len(inputString) fo
这里的问题要求我反转()中的任何字符串.假设我的字符串为“ foo(bar(baz))blim”,则返回的结果为“ foobazrabblim”.有人帮助我完成了编码过程,但是,我仍然不明白为什么代码首先会检测到外部.
据我了解,假设我们有“ foo(bar(baz))blim”.因此,python检测到start = 3,end = 11.然后我们将函数称为reverseinparetheses,我们将得到“ foozab(rab)blim”.再次浏览该功能,新的开始= 6,结束= 10.最后,我们有“ foozabbarblim”,而不是我们期望的“ foobazrabblim”.我想知道程序如何首先检测外部“)”? 最佳答案
它没有检测到最外面的括号.它找到最里面的那对,颠倒内部,然后重复直到不再有括号.
当您击中第一个’)’时,此块会触发,并且在该阶段的起始位置将是'(‘,打开第一个’)’.这是最里面的一对. 然后您有:
这将内容从头到尾反转(最里面的对),然后调用该函数,从而切断了for循环的其余部分. 如果您实际上在每一步都打印了inputString,则会得到:
最里面的括号正被颠倒. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |