我正在使用Python编写一个基于一组特定指令的刽子手游戏。我特别需要使用for
循环来替换单词中的所有字母和下划线,事实上我正在成功地这样做。但是我有一个小问题,我在我的单词中为每个字母打印了一行新的下划线。有没有办法摆脱这个?有人可以指导我的逻辑有什么问题吗?
word = "test"
def createBlank(word):
for letter in word:
blanks = '_' * len(word)
print(blanks)
我的结果如您所愿:
>>> word
'test'
>>> createBlank(word)
____ #<- only need this line to be printed.. is it even possible using a for?
____
____
____
答案 0 :(得分:2)
您正在重复打印import B.framework
blanks
中的字符数。只需将word
移到print(blanks)
循环之外:
for
<强>样本:强>
word = "test"
def createBlank(word):
for letter in word:
blanks = '_' * len(word)
print(blanks)
但为什么需要>>> createBlank(word)
____
循环打印下划线时间for
len
,您可以这样做:
word
答案 1 :(得分:0)
试试这个
word = "test"
def createBlank(word):
for letter in word:
blanks = '_'
print blanks,
这样它运行得更好
from __future__ import print_function # needs to be first statement in file
word = "test"
def createBlank(word):
for letter in word:
print('_', end='')
createBlank(word)