Python循环打印隐藏单词字符后,如何优雅实现换行?
解决方案
首先,最优雅且高效的实现方式是避免循环调用print,而是利用字符串的join()方法一次性拼接所有字符并打印,这样print函数会自动在结尾添加换行符,完全符合你的需求:
hidden_word = list(r.get_random_word().lower()) print(' '.join(hidden_word))
这段代码会直接输出带空格分隔的字符,并且自动换行,比如:
a b a c a d a b r a
(输出后光标自动移至新行)
如果你坚持要保留循环的写法,也可以通过判断当前字符是否为最后一个,动态设置print的end参数来实现:
hidden_word = list(r.get_random_word().lower()) word_length = len(hidden_word) for idx, letter in enumerate(hidden_word): # 最后一个字符时,end设为默认的换行符,否则设为空格 print(letter, end='\n' if idx == word_length - 1 else ' ')
但显然第一种方法更简洁、Pythonic,也更高效——因为join()是字符串操作的原生优化方法,比循环多次调用print的IO操作性能更好。
内容的提问来源于stack exchange,提问作者CoolRunningASIC
相关产品推荐
相关产品推荐

