2016-10-03 5 views
-1

저는 파이썬 초보자이며 여기에 붙어 있습니다. 나는 난수 행렬을 생성하는 다음과 같은 프로그램을 작성했다.난수 행렬에서 단어를 숨기려면 어떻게해야합니까?

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

I는 입력 매개 변수에서 단어를 취하고 그 대각선 매트릭스 내에 숨기는 기능을 추가 할 수있다든지 있는가? 따라서 사용자가 '비'를 입력하면 출력은 다음과 같습니다.

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