【问题标题】:Problem with the multiplication table of a number一个数的乘法表的问题
【发布时间】:2020-05-05 21:02:14
【问题描述】:

我正在尝试编写一个函数来显示一个数字的乘法表:

def tabellina(n):

   for i in range (1,11):

       print(n*i)

如果我以这种方式编写函数,它可以正常工作。 如果我输入 4 而不是 n,它会打印:

4,8,12,16,20,24,28...40

但是如果我使用 return 而不是 print,它就不再起作用了,它只会返回 n 值。

我必须使用return,我不能使用print

我该怎么办? (我必须使用 return 而不是打印)

【问题讨论】:

  • return 退出循环,这就是为什么你的函数只会返回第一个值。
  • 可能返回值列表?
  • 我建议学习更多 Python 以及一般的编程知识。 Stack Overflow 不能替代指南或教程。

标签: python python-3.x loops for-loop return


【解决方案1】:

如果你使用 return 它返回 n 值的原因是因为循环没有完全运行。使用 return 时,它返回值,该值退出函数。循环的其余部分永远不会执行。

您想要的是返回一个数组。最简单的方法大概是list comprehension

def tabellina(n):
    return [n*i for i in range(11)]

【讨论】:

    【解决方案2】:

    您可以将输出保存在字符串中,然后返回。例如:

    def tabellina(n):
       table = ''
       for i in range (1,11):
           table += ((n*i) + ' ')
       return table
    

    您可以根据需要将' ' 替换为任何设备(如',')。

    【讨论】:

      【解决方案3】:

      试试下面的脚本:

      def tabellina(n):
         joint = ""
         for i in range (1,11):
             joint = joint + (" %s" % n*i)
         return joint
      

      【讨论】:

        猜你喜欢
        • 2022-08-13
        • 2023-03-09
        • 2019-11-13
        • 2020-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多