如何防止打印的东西在Python中一遍又一遍地复制自身? (Repl.it)

时间:2020-05-22 19:51:45

标签: python repl.it

问题与这个项目有关:https://repl.it/@LerconnDesign/First-Project

我想编写代码以缓慢而不是立即打印某些内容。基本上,它会打印要打印的实际内容的一部分,并每隔几毫秒添加一个字母,因此,如果我们将“ welcome”作为要打印的实际单词,则输出将如下所示:

W
We
Wel
Welc
Welco
Welcom 
Welcome

我找到了解决方案(我将显示代码),但是对此我还有另一个问题。
因此,我使用了以下代码(不在新文件中的“ main”中):

from time import sleep
speed=input("Time Passes Between Characters (Please enter a real NUMBER):")
speed=float(speed)
state="NoError"
def print1(text, sleepy=speed):
  allprint=""
  for a in text:
        allprint+=a
        print(allprint, end="\r")
        sleep(sleepy)

将其导入到主文件中,并在需要时使用它。例如:

print1("Hello Lerconn User!\n")

它工作了一段时间。但是然后...我使用的一些文本开始复制自己。

所以开始执行此操作的代码的第一部分如下:

print1("You have chosen the wait-times as below: \n between each character: " + str(speed) + " \n between each sentence: " + str(speed2))

因此,如果speed和speed2均为1时,它应该已经打印了此内容:

*You have chosen the wait-times as below: 
between each character: 1
between each sentence: 1*

但是,它做了更多这样的事情:

You have chosen the wait-times as below: 
You have chosen the wait-times as below: 
You have chosen the wait-times as below: 
You have chosen the wait-times as below: 
You have chosen the wait-times as below: 

并继续复制。 (它实际上覆盖了整个屏幕,所以我只粘贴了输出的一小部分(其余部分没有任何价值,只有相同的部分被复制了很多次。)

如果您需要有关代码的其他详细信息,我会尽力为您提供帮助。
如果您还没有找到足够的解释,可以转到我在开头给出的链接。

1 个答案:

答案 0 :(得分:0)

问题之一是换行符,您可以修改<div class="card-text"><a href="{% url 'section' section.section %}">{% for section in post.secciones.all %}{{section}}{% endfor %}</a> 函数以包括换行符print1块。

if

如果执行此操作,并根据以下换行符将单个print1函数调用拆分为多个调用,则它将按预期工作。

def print1(text, sleepy=speed):
  allprint=""
  for a in text:
    if a == "\n":
      allprint = ""
    allprint+=a
    print(allprint, end="\r")
    sleep(sleepy)