2013-03-28 86 views
0
guessesRemaining=12 
Summary=[] 


code=['1','2','3','4'] 



while guessesRemaining > 0: 
report=[] 
guess=validateInput() 
guessesRemaining -= 1 
if guess[0] == code[0]: 
    report.append("X") 
if guess[1] == code[1]: 
    report.append("X") 
if guess[2] == code[2]: 
    report.append("X") 
if guess[3] == code[3]: 
    report.append("X") 

tempCode=list(code) 
tempGuess=list(guess) 

if tempGuess[0] in tempCode: 
    report.append("O") 
if tempGuess[1] in tempCode: 
    report.append("O") 
if tempGuess[2] in tempCode: 
    report.append("O") 
if tempGuess[3] in tempCode: 
    report.append("O") 

ListCount=report.count("X") 
if ListCount > 0: 
    del report[-ListCount:] 

report2=report[0:4] 
dash=["-","-","-","-"] 
report2=report+dash 
report3=report2[0:4] 
report4="".join(report3) 
guess2="".join(guess) 
Summary+=[guess2,report4] 

print(Summary) 

validateInput()调用一个我没有在这里添加的函数。我试图弄清楚如何在整个12次猜测的过程中一次打印一行结果。通过猜三次我收到...如何逐行打印配对元素?

['4715', 'OO--', '8457', 'O---', '4658', 'O---'] 

时,我想收到...

['4715', 'OO--'] 
['8457', 'O---'] 
['4658', 'O---'] 

我一直在努力,在\ n以多种方式补充,但我无法弄清楚如何执行它。任何和所有的帮助,非常感谢。

+0

请修复您的缩进 – jamylak 2013-03-28 03:45:30

+0

这是为游戏“主谋”,对不对?我可以对逻辑提出很多简化,但这不是一个代码审查网站...... – 2013-03-28 04:28:52

回答

0

,我认为你需要像

In [1]: l = ['4715', 'OO--', '8457', 'O---', '4658', 'O---'] 

In [2]: l1 = l[::2] # makes a list ['4715', '8457', '4658'] 

In [3]: l2 = l[1::2] # makes ['OO--', 'O---', 'O---'] 

In [4]: for i in zip(l1, l2): 
    ...:  print i 
    ...: 
('4715', 'OO--') 
('8457', 'O---') 
('4658', 'O---') 
1

我试着用多种方法添加\ n,但我无法弄清楚如何实现它。

如果您在第一时间正确地构造数据,它将有很大帮助。

Summary+=[guess2,report4] 

这意味着 “追加在[guess2,report4]发现每个项目,分别以Summary”。

看来你的意思是“把[guess2,report4]作为一个单独的项目追加到Summary”。要做到这一点,你需要使用列表的append方法:

Summary.append([guess2, report4]) 

现在,我们有对,每一个我们要显示在单独的行列表,它会容易得多:

for pair in Summary: 
    print(pair)