如何使用函数在同一行上打印两次

时间:2016-01-28 20:50:07

标签: function python-3.x

def Drawstars(spaces, stars):
          spaces = int(spaces) - 1
          stars = int(stars)
          print(line = " " * spaces + "*" *stars)

# i want this to be printed once
s = 3
st = 3
Drawstars(s, st)

#i want these to be printed twice

s = 3
st = 1
Drawstars(s, st)

s= 2
st = 2
Drawstars(s, st)

我怎样才能让底部的两个在同一条线上工作两次而顶部的一条只能工作一次。 我得到的是:

   *
   *
   **

但我想要的是:

   *
   * **

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

如果您使用函数sys.stdout.write(),则可以在不添加新行的情况下进行打印。

如果你有这样的功能

def DrawstarsOneline(spaces, stars):
      spaces = int(spaces) - 1
      stars = int(stars)
      sys.stdout.write(" " * spaces + "*" *stars)

然后你可以像这样调用你的代码

s = 3
st = 1
DrawstarsOneline(s, st)

s= 2
st = 2
Drawstars(s, st)

它会产生所需的输出。

您需要使用以下行导入代码顶部的SYS模块: import sys