【问题标题】:Printing a specific number of characters打印特定数量的字符
【发布时间】:2017-03-13 01:42:59
【问题描述】:

我需要帮助以连续打印一定次数的字符(例如"*")。例如:

>>> printingAsteriks(4)
****
>>> printingAsteriks(6)
******
>>> printingAsteriks(0)

>>>

我写过:

def printAsteriks(ast):
    total="*"
    asteriks=1
    while asteriks<=ast:
        total=total+asteriks
        asteriks=asteriks+"*"
    print(ast)

我知道这是错误的,但我真的不知道从哪里开始。

【问题讨论】:

  • 仔细阅读错误信息。他们会告诉你你试图把错误的东西加在一起。然后阅读您的代码(如有必要,将其写在纸上)并注意为每一行中的每个名称分配的值(例如,total = total + asteriks"*" = "*" + 1,我希望这显然是错误的)。你可能会发现例如pythontutor.com 如果您无法将其可视化,则很有帮助。或者,请注意,例如"*" * 4 == "****".

标签: python string function printing while-loop


【解决方案1】:

total=total+asteriks 这一行是错误的。您正在将总数(即“*”)与星号(即 1)相加。您需要使用乘号。

只需按照 Jonrsharpe 在评论部分告诉你的内容即可。

【讨论】:

    【解决方案2】:

    正如 Jonrsharpe 所说,您的“控制”变量没有增加。这是因为您已经翻转了第 2 行和第 3 行,实际上正确的版本是初始化 total=1 和 asteriks='*'。

    无论如何,请注意您返回的是输入参数而不是“asteriks”字符串。

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多