【问题标题】:Why is this being printed twice? And how can I prevent it? [closed]为什么要打印两次?我该如何预防呢? [关闭]
【发布时间】:2022-11-24 03:54:25
【问题描述】:

所以我只想打印一次“temp”变量。你可以看到我试图阻止它打印两次,但它不起作用。如何修改此代码以仅打印一次?

这是我的代码:

        def print_output(self, client_num):
            output = self.get_client_output(client_num).strip()
            temp = self.get_client_output(client_num).strip()
            while self.printing_client_output:
                if temp != output:
                    temp = output
                    print(temp)
                output = self.get_client_output(client_num).strip()

运行此代码将多次打印相同的内容。

“self.get_client_output”函数只是从文件中读取文本。 “self.printing_client_output”是一个布尔变量。在这种情况下,它只是设置为 True。

【问题讨论】:

  • 这里没有足够的东西来重现这个......
  • print() 语句处于循环中,所以是的,它可能会打印两次、十次或一百次,具体取决于执行的循环次数。该循环由self.printing_client_output 控制,您没有向我们展示该属性如何工作...
  • 请编辑您的问题,使其包含minimal reproducible example

标签: python python-3.x function while-loop printing


【解决方案1】:

在第一次迭代中,tempoutputif 语句中变得相等。但紧接着,output 等于self.get_client_output(client_num).strip(),可能不再等于temp。所以它再次打印它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2021-11-26
    相关资源
    最近更新 更多