我目前正在使用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!
我不知道这段代码有什么问题,或者如何修复它。
我非常感谢能得到的所有帮助!谢谢。
答案 0 :(得分:5)
使用单个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"))
答案 1 :(得分:1)
另一个选择是使用end=""
选项print()。这不会打印换行符,也不会在末尾添加额外的空格。
print(Style.BRIGHT + Fore.RED + ' Name', end="")
print(Fore.BLACK + '|', end="")
print(Fore.WHITE + Style.DIM + 'Hello!')
需要注意的是end
选项仅适用于Python 3.如果from __future__ import print_function