【问题标题】:finding satisfied condition while debugging in pycharm在pycharm中调试时找到满足的条件
【发布时间】:2018-04-18 17:43:55
【问题描述】:

我有一个程序有很多 if else 条件。一个小样本如下:

if(lhs == 'a' and rhs=='a'): return 'aa'

if(lhs == 'i' and rhs=='i'): return 'ii'

if(lhs == 'u' and rhs=='u'): return 'uu'

else: return 'invalid'

我想调试我的程序,以便找出满足哪个条件。在pycharm的哪里添加这样的断点,以便我可以找出调用了哪个条件?

【问题讨论】:

  • 换个说法,为什么不这样做:if lhs+rhs in ('aa', 'ii', 'uu'): return lhs+rhs else: ...
  • 无论如何,你也不应该使用单独的if 子句,因为所有的条件都会被检查
  • @MosesKoledoye 谢谢你的建议。但是,我的方法必须灵活
  • 我需要多个条件,具体取决于 char 在 str 中的位置,而且每次的最终结果都不同

标签: python debugging pycharm


【解决方案1】:

AFAIK,你不能在一行中间中断。以下是一些替代解决方案:

  1. 在新行中添加返回语句。您必须添加多个断点。
  2. 把这段代码移到一个函数中,然后函数调用返回就可以看到返回值了
  3. 有一个变量ret='aa',在if-else语句后赋值给变量,最后返回ret

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-07
    • 2019-11-10
    • 2022-01-20
    • 1970-01-01
    • 2012-06-12
    • 2013-07-08
    • 2020-05-11
    • 1970-01-01
    相关资源
    最近更新 更多