【问题标题】:Pseudocode Python for loop伪代码 Python for 循环
【发布时间】:2018-11-27 23:56:41
【问题描述】:

如何从我的代码中制作伪代码 **问题:**返回数组中数字的总和,空数组返回0。除了数字 13 很不吉利,所以它不算数,紧跟在 13 之后的数字也不算数。

这是我的代码:

def sum13(nums):
  while 13 in nums:
      del(nums[ nums.index(13): nums.index(13)+2])
  return (sum(nums))

【问题讨论】:

  • 感谢您发布伪代码。你有什么问题?
  • 如何为我的代码制作伪代码和流程图??

标签: python python-3.x


【解决方案1】:

您应该使用带有索引的while 循环,以便在遇到 13 项时索引可以增加 2 而不是 1:

def sum13(nums):
    s = i = 0
    while i < len(nums):
        n = nums[i]
        if n == 13:
            i += 2
            continue
        s += n
        i += 1
    return s

这样:

sum13([2,4,13,5,2,1,13])

返回:9

【讨论】:

  • @yoltorresnewbie,Python 已经非常接近伪代码了——您是否有特殊原因需要进一步分解它?也许对您来说,通过每一行并用简单的(非计算机)语言写出正在发生的事情会很有用。
  • 伪代码实际上是用数学表达式用自然语言描述算法的每个步骤,以便任何不了解特定编程语言的人都可以阅读。因此,您可以用您自己的话将上述代码翻译成可读的描述步骤,这就是伪代码。
  • 谢谢,我试试,那流程图怎么样?
  • @yoltorresnewbie 流程图就像伪代码,只是它以图表的形式表示。请参考en.wikipedia.org/wiki/Flowchart了解可用于表示算法工作流程的典型流程图符号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 2012-06-27
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多