【问题标题】:How to increment the int variable inside the print statement in python?如何在python的print语句中增加int变量?
【发布时间】:2023-03-09 12:29:01
【问题描述】:

我想在 print 语句中增加变量,所以它不需要 2 行代码。

我有以下代码:

yearCount += 1    
print("Year ",yearCount,":",sep = "")

我该怎么做:

print("Year",yearCount+=1,":",sep = "")

【问题讨论】:

  • 行数越少并不自然越好。通过将副作用塞入print,您会模糊控制流并使您的代码更难阅读。
  • 有这个页面很好,因为它只是告诉来这里的人不要这样做,因为它更难阅读。

标签: python python-3.x printing increment


【解决方案1】:

对于打印,您可以使用 f-strings,在 v3.6+ 中可用:

print(f'Year {yearCount+1}:')

如果您需要增加变量本身,我会坚持使用双线;最好是清楚地区分计算和打印输出。


对您的问题不推荐的答案是:

yearCount += 1; print(f'Year {yearCount}:')

【讨论】:

    【解决方案2】:

    使用 format 格式化字符串以便打印,而不是实际增加值

    print("Year {}".format(yearCount+1))
    

    【讨论】:

      【解决方案3】:

      无法在print() 中初始化变量。你能做的最好的事情是通过 f-string 调用一个函数。使用调用的函数来增加你想要的变量。

      yearCount = 2018
      def yearInc():
        global yearCount
        yearCount+=1
        return yearCount
      
      print(f"Year {yearInc()}")
      print(f'Year {yearCount}')
      

      输出是:

      Year 2019
      Year 2019
      

      如果你只调用这个函数一次,这个解决方案可能会很浪费。

      【讨论】:

        【解决方案4】:

        print函数Documentation可以参考官方文档。

         a = 2
         print("Sum is :", a+3)
        

        输出是:

         Sum is :5
        

        【讨论】:

          最近更新 更多