【问题标题】:print function doesn't execute outside a while cycleprint 函数不会在 while 循环之外执行
【发布时间】:2023-01-10 02:37:05
【问题描述】:

除了 while 循环之外的最后一条打印指令(打印(“你为什么不打印?”))永远不会执行而且我不明白为什么。休息后,代码执行应该继续进行。

def eval_cycle():
    done = 'done'
    last_expression = ' '
    while True:
        dato = eval(input('Insert an expression: '))
        if dato == done:
            print("Last expression is: ", last_expression)
            return dato
            break
        last_expression = dato
        print(dato)
    print("why don't you print?")

【问题讨论】:

  • return回报立即地, 在break 可以执行之前。

标签: python control-flow


【解决方案1】:

当您 return 时,它会立即返回函数外的控制流。

执行之后的函数中没有任何内容。

作为旁注,您可能希望将表达式作为字符串读取,然后执行它。这样你就可以将它存储在last_expression 而不仅仅是结果evaling 表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 2018-07-31
    • 2016-04-30
    • 2021-07-01
    • 2019-10-12
    • 2020-11-17
    • 2019-09-03
    • 1970-01-01
    相关资源
    最近更新 更多