【问题标题】:operations order in Python [duplicate]Python中的操作顺序[重复]
【发布时间】:2019-09-04 16:53:06
【问题描述】:

我刚刚从 Zed Shaw 的 Learn Python 3 The Hard Way 开始学习 python。在本书的练习 3 中,有一个问题是要得到 100 - 25 * 3 % 4 的值。这个问题的解决方案在档案中已经提到,其中顺序优先于 * 和 %(从左至右向右)。 我自己做了一个问题,得到 100 - 25 % 3 + 4 的值。输出中的答案是 103。

我刚刚写了:print ("the value of", 100 - 25 % 3 + 4),它给出了输出值 103。

如果给出 %,则优先级 25 % 3 将给出 3/4。那么答案是怎么来的 103。我需要提到任何浮动命令吗?

我想知道如何使用这些操作。有没有预定义的规则来解决这类问题?

【问题讨论】:

  • 我也想知道一些学习python的好网上资源。
  • 您正在阅读的书是一个很好的来源。我还向您推荐 O'Reilly Python Cookbook 和 O'Reilly Learning Python。不要害怕阅读 Python 的官方文档。我知道我们在学习过程中很无聊,但是你习惯阅读文档对你有好处。
  • 我可以并行使用它们吗?还是首先我应该完成邵氏书? @Stévillis
  • 我几天前就开始学习 python @Stévillis。
  • 选择一个你最喜欢的。如果您不理解作者试图解释的内容,最好选择其他来源。您不需要阅读所有内容!但是,如果您这样做,它将更多地解决您的理解问题。每个作者都采用不同的方式来解释,他们展示了不同的例子。这对我帮助很大,因为当我遇到问题时,我记得当我在我读过的一本书上看到相同或类似的问题时。然后我去那里,我又读了一遍书的具体部分,我可以解决我的问题。

标签: python python-3.x


【解决方案1】:

实际上,% 运算符为您提供了操作的 REMAINDER
因此,25 % 3 返回 1,因为 25 / 3 = 8 并且此操作的余数为 1。
这样你100 - 25 % 3 + 4的操作就和100 - 1 + 4 = 103一样了

【讨论】:

    【解决方案2】:

    % 运算符用于求商的余数。所以25 % 3 = 1 不是3/4

    【讨论】:

      【解决方案3】:

      您可以从文档中找到完整的 python operation order。 然后,% 运算符称为模运算符,并返回整数除法的余数:

      11 % 2 == 1
      

      你可能想看看divmod

      【讨论】:

      • 链接失效了。
      • 是的,现在它正在工作。谢谢! @Netwave
      猜你喜欢
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      相关资源
      最近更新 更多