2014-10-19 4 views
0
def print_game(Guesses, Clues): 
    """(list,list) -> display 
    Print to display headers, Guess and Clue, 
    with the corresponding sublists of the given lists 
    >>>print_game(guesses,clues) 
    Guesses  Clues 
    o o o o  b 
    r r r r  b b 
    """ 
    print("Guesses \t Clues") 
    for i in range((len(Guesses))): 
     print (Guesses[i], end=" ") 
    print ("\t", end=" ") 
    for i in range(len(Clues)): 
     print (Clues[i], end= " ") 

Мне нужна функция для получения двух столбцов догадок и намеков, которые собираются быть списки списков для печати, как они обновляютсяPython спискам форматирования списков

ответ

0

Zip списков вместе, так что вы можете обрабатывать элементы в парах:

print("Guesses", "Clues", sep='\t') 
for guess, clue in zip(Guesses, Clues): 
    print(' '.join(guess), ' '.join(clue), sep='\t') 

отдельные подсписки соединены в одну строку с помощью метода str.join().

Демо:

>>> guesses = [['o', 'o', 'o', 'o'], ['r', 'r', 'r', 'r']] 
>>> clues = [['b'], ['b', 'b']] 
>>> def print_game(Guesses, Clues): 
...  print("Guesses", "Clues", sep='\t') 
...  for guess, clue in zip(Guesses, Clues): 
...   print(' '.join(guess), ' '.join(clue), sep='\t') 
... 
>>> print_game(guesses, clues) 
Guesses Clues 
o o o o b 
r r r r b b 

Учитывая количество значений в Guesses подсписков, вы можете удвоить на вкладках.

+0

похоже, что оно не работает – Deka

+0

Я думаю, из-за этого sep = '\ t' – Deka

+0

@Deka: 'sep = '\ t'' просто помещает вкладки между различными аргументами в' print() '. Если ваш контролер кода считает недопустимым, возможно, вам не следует использовать вкладки, кроме фактических пробелов. 'sep = ''' например. –

Смежные вопросы