python程序中不需要的换行符

时间:2014-02-18 15:28:53

标签: python arrays line-breaks

我已经编写了基本的代码破解游戏(如Hangman),如下所述,但是当我在Python 3.3.1中运行代码时,代码似乎没有出现_ _ _ _ _,就像在一个刽子手游戏中那样;

_
_
_
_
_

我理想情况下它会出现在一条直线上,我在早期版本的Python中没有这个问题 - 我已经搜索过并且它正在慢慢地让我发疯 - 有人可以帮忙吗?然后我可以看看添加一个数组来存储一系列代码!

代码:

code = "25485"
guesses = ''
turns = 5
counter = 0   

print ("Welcome to code cracker")

while turns > 0:                   

for char in code:      

    if char in guesses:    

        print (char),    

    else:

        print ("_"),     

        counter += 1    

if counter == 0:        
    print ("\nYou cracked the code") 

    break              

print

guess = input("guess a number:") 

guesses += guess                    

if guess not in code:  

    turns -= 1        

    print ("Wrong\n")    

    print ("You have", + turns, 'more guesses')

    if turns == 0:           

        print ("You failed to crack the code\n"  )

2 个答案:

答案 0 :(得分:4)

在python3中,使用print中的sepend参数:

In [4]: for i in range(4):
   ...:     print ("_", sep='', end='')
#output: ____

答案 1 :(得分:2)

你可以简单地避免print将你的字符join变成一个字符串:

def symbolFor(char):
   if char in guesses:
      return char
   else:
      return "_"

pretty = [symbolFor(char) for char in code]
s = "".join(pretty)