我有以下python代码:
def display_game(guesses, clues):
total = 'Guess\tClues\n****************\n'
new = ''
for i in range(len(guesses)):
for letter in guesses[i]:
new +=letter+ ' '
return print(total+new +'\t'+ clue(clues)+'\n')
def clue(clues):
test = ''
for i in range(len(clues)):
for w in clues[i]:
test = test + w + ' '
return test.rstrip()
输出结果如下:
>>> display_game([['Y', 'P', 'G', 'G'], ['O', 'O', 'G', 'G']], [['b', 'b'], ['b','b', 'b', 'b']])
Guess Clues
****************
Y P G G b b
O O G G b b b b
我得到了这个:
>>> display_game([['Y', 'P', 'G', 'G'], ['O', 'O', 'G', 'G']], [['b', 'b'], ['b','b', 'b', 'b']])
Guess Clues
****************
Y P G G b b
我做错了什么?
答案 0 :(得分:0)
假设我想要的是什么(这不是给定的),首先,你不需要使用范围函数来遍历列表;只需使用in
关键字。
其次,您将在第一个循环结束时返回。 Deindent your" return ...."声明,它应该没问题。
哦,return print(...)
毫无意义。你要么打印要么你回来。
答案 1 :(得分:0)
你的整个功能很混乱,所以我只是重写了它:
def display_game(guesses, clues):
output = 'Guess\tClues\n****************\n'
for i in range(len(guesses)):
for letter in guesses[i]:
output += letter + ' '
for letter in clues[i]:
output += letter + ' '
output += '\n'
print(output)
display_game([['Y', 'P', 'G', 'G'], ['O', 'O', 'G', 'G']], [['b', 'b'], ['b','b', 'b', 'b']])
您可以尝试here。