Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 替换打印函数中的字符而不使用。替换_Python_Python 3.x_String_Replace_Character - Fatal编程技术网

Python 替换打印函数中的字符而不使用。替换

Python 替换打印函数中的字符而不使用。替换,python,python-3.x,string,replace,character,Python,Python 3.x,String,Replace,Character,我是编程新手,有一个关于在Python中替换打印函数中的文本的问题 在我当前的代码中,对于倒计时,如果输入5,它将打印“5431GO”,我如何让它替换上一个字符?我以前做过,但我忘了怎么做,我想这与“\r”有关 正如您所说,\r意味着它会将指针移动到行首,只需在您的打印语句中使用它,如下所示: 导入时间 倒计时时间=int(输入(“输入倒数开始的秒数:”) 当倒计时时间>=0时: 如果倒计时时间=0: 打印(“GO”) 打破 其他: 打印(倒计时,结束=“\r”) 倒计时时间-=1 时间。睡眠(

我是编程新手,有一个关于在Python中替换打印函数中的文本的问题

在我当前的代码中,对于倒计时,如果输入5,它将打印“5431GO”,我如何让它替换上一个字符?我以前做过,但我忘了怎么做,我想这与“\r”有关


正如您所说,
\r
意味着它会将指针移动到行首,只需在您的
打印
语句中使用它,如下所示:

导入时间
倒计时时间=int(输入(“输入倒数开始的秒数:”)
当倒计时时间>=0时:
如果倒计时时间=0:
打印(“GO”)
打破
其他:
打印(倒计时,结束=“\r”)
倒计时时间-=1
时间。睡眠(.5)

与您所说的完全一样,
\r
意味着它会将指针移动到行首,只需在您的
打印
语句中使用它,如下所示:

导入时间
倒计时时间=int(输入(“输入倒数开始的秒数:”)
当倒计时时间>=0时:
如果倒计时时间=0:
打印(“GO”)
打破
其他:
打印(倒计时,结束=“\r”)
倒计时时间-=1
时间。睡眠(.5)

我使用此函数在线更新百分比文本。只需调用
update\u percentage
,而不是
print

def update_percentage(row_string):
    row_string = str(row_string)

    # clear previous text
    sys.stdout.write("\r")
    sys.stdout.write(" " * len(row_string))

    # reposition at the start of the row
    sys.stdout.write("\r")
    sys.stdout.write(row_string)
    sys.stdout.flush()

我使用此函数以内联方式更新百分比文本。只需调用
update\u percentage
,而不是
print

def update_percentage(row_string):
    row_string = str(row_string)

    # clear previous text
    sys.stdout.write("\r")
    sys.stdout.write(" " * len(row_string))

    # reposition at the start of the row
    sys.stdout.write("\r")
    sys.stdout.write(row_string)
    sys.stdout.flush()

是,
\r
是回车。它转到行首而不转到下一行。是的,
\r
是回车。它会转到行的开头,而不会转到下一行。谢谢我的想法,但当我这样做时,直到时间结束,文本才会被打印出来,然后再打印出来,你知道为什么会这样吗?@KevinNisbet,嗯,不知道是什么问题,也许可以尝试在没有IDE的情况下运行它。它们有时会弄乱终端。可能需要将print语句设置为
print(f“{countdown\u time}……”,end=“\r”)
,以便完全覆盖以前的数字,否则计数将从10变为90<代码>打印(str(倒计时)+“…”,end=“\r”)也可以。啊,是的,我用记事本运行它,它有点工作,我的新问题是,如果输入是“10”,它会用“10”的“1”替换“9”,我得到“90”:(KevnnISBET,如果它解决了你的问题,考虑选择它作为被接受的答案。谢谢我的想法,但是当我这样做的时候,没有文本被打印,直到时间过去,然后打印出来,你知道为什么会这样吗?”KvnnISBET MMM,不知道是什么问题,也许试着在没有IDE的情况下运行它。使用终端。可能希望打印语句为
print(f“{countdown\u time}……”,end=“\r”)
,以便完全覆盖以前的数字,否则计数从10到90。
print(str(countdown\u time)+“…”,end=“\r”)< /代码>也可以。啊,是的,我用记事本运行它,它工作了,我的新问题是现在如果输入是“10”,它用“10”的“1”代替“9”,而我得到“90”:(KevnnISBET,如果它解决了你的问题,考虑选择它作为被接受的答案。