我目前正在用Python做游戏。

我希望代码阅读:

[00:00:00]   Name|Hello!


这是我的代码:

print(Fore.YELLOW + Style.BRIGHT + '['),
print strftime("%H:%M:%S"),
print ']',
print(Style.BRIGHT + Fore.RED + ' Name'),
print(Fore.BLACK + '|'),
print(Fore.WHITE + Style.DIM + 'Hello!')
time.sleep(5)


出于某种原因,它变成这样:

[ 00:00:00 ]    Name | Hello!


我不知道此代码有什么问题,或如何解决它。

我将非常感谢我能获得的所有帮助!谢谢。

最佳答案

用单个print语句和逗号打印总是打印尾随空格。

请使用所有内容都串联在一起的一个print语句,或者使用sys.stdout.write()直接写到终端而无需多余的空格:

print Fore.YELLOW + Style.BRIGHT + '[' + strftime("%H:%M:%S") + ']',


要么

sys.stdout.write(Fore.YELLOW + Style.BRIGHT + '[')
sys.stdout.write(strftime("%H:%M:%S"))
sys.stdout.write(']')


或使用字符串格式:

print '{Fore.YELLOW}{Style.BRIGHT}[{time}] {Style.BRIGHT}{Fore.RED} Name {Fore.BLACK}| {Fore.WHITE}{Style.DIM}Hello!'.format(
    Style=Style, Fore=Fore, time=strftime("%H:%M:%S"))

08-16 00:34