2016-10-03 10 views
-1

Я начинающий Python и застрял здесь. Я написал следующую программу, которая генерирует матрицу случайных чисел.Как скрыть слово в матрице случайных чисел?

def randsq(size): 
    for i in range(size): 
     for j in range(size): 
      print(random.randint(0,9), end = '') 
     print() 

Есть в любом случае я могу добавить функцию, которая принимает слово из входного параметра и скрывающую его по диагонали в матрице? Поэтому, если пользователь вводит «дождь», результат выглядит следующим образом:

r123 
1a45 
23i4 
989n 

Спасибо!

+0

ли это на самом деле считается * скрыт * для вас ? – sascha

+0

@marc_s, будет ли «интегрированный» быть лучшим описанием? извините, я полагаю, я просто использовал «скрытый», потому что не очень очевидно, что там есть слово. –

+1

@sascha Я предполагаю, что этот предыдущий комментарий от OP был предназначен для вас –

ответ

1

Модифицированный код:

import random 
def randsq(word): 
    size = len(word) 
    for i in range(size): 
     for j in range(size): 
      if i == j: # we are at a diagonal-value 
       print(word[i], end='') # it's the i-th diag -> choose i-th char 
      else: 
       print(random.randint(0, 9), end='') 
     print() 

randsq('Rain') 

Выход:

R757 
0a91 
02i9 
757n 

Если вы хотите, чтобы пользователь ввел это слово:

word_to_hide = input('Which word to hide? (+enter) ') # will wait for user-input + enter 
randsq(word_to_hide) 
+0

Это потрясающе! Я был далек от этого:/Если бы я хотел оставить слово пользователю, я бы просто использовал input() в конце? –

+0

Не обязательно в конце. Вы можете использовать ввод, чтобы получить некоторую строку, которая является аргументом randsq (word). С моим кодом размер матрицы будет автоматически адаптироваться. – sascha

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

  • Нет связанных вопросов^_^