【问题标题】:How to fix nested if/for loop如何修复嵌套的 if/for 循环
【发布时间】:2019-10-11 13:59:47
【问题描述】:

当嵌套字典有多个键时,我正在尝试将标志更改为 True。该代码当前正确计算了键的数量,但并未将标志更改为 true。

我已经完成了下面的精简版和更细分的版本,但都无济于事。我还以多种方式重新排列了语句,但无法触发它。

for page in sd:
        chartcount = len(sd[page])
        print '\n', 'Slide no.', page, '--There is/are', chartcount, 'Chart(s).'
        [combinecheck is True if chartcount > 0 else False]
        print combinecheck

我希望: 幻灯片编号1 --有/有2个图表。 是的

我得到: 幻灯片编号1 --有/有2个图表。 假的

【问题讨论】:

  • 您正在创建一个列表,而不是将其分配给变量。试试combinecheck = chartcount > 0 或者如果你喜欢更详细的东西:combinecheck = True if chartcount > 0 else False

标签: python python-2.7 for-loop if-statement


【解决方案1】:

不确定你想用 [] 部分做什么。这看起来像列表理解(如果您要创建一个列表,这将很有用,但您不是。而且您不会在任何地方分配该列表。),您不需要那个。 而是放在那里:

combinecheck = chartcount > 0

【讨论】:

    【解决方案2】:
    [combinecheck is True if chartcount > 0 else False]
    

    没有分配给combinecheck

    试试:

    combinecheck = False
    if chartcount > 0:
      combinecheck = True
    

    【讨论】:

    • 谢谢!这行得通,但不如前面的答案那么紧凑和优雅。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2019-06-27
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多