2014-09-18 6 views
-5

C++에서 나는 아래 코드를 가지고 있으며 파이썬에서도 같은 것을 만들고 싶었다.파이썬에서 배열을 인쇄하는 방법은 무엇입니까?

#include iostream 
using namespace std; 

int main() 

{ 

    int tab[10][10], m, n, i, j; 

    cout << "\n number of rows n = "; 
    cin >> n; 
    cout << "\n number of columns m = "; 
    cin >>m; 
    for (int i=0; i<n; i++) 
    { 
     for (int j=0; j<m; j++) 
     { 
      cout << "\n tab[" << i << "][" << j << "] = "; 
      cin >> tab[i][j]; 
     } 
    } 
    cout << endl; 
    for (int i=0; i<n; i++) 
    { 
     for (int j=0; j<m; j++) 
      cout << "\t\t" << tab[i][j]; 
      cout << "\n\n"; 
    } 
    return 0; 
} 

나는 이것을 시도 :

def main(): 
    pass 
    tab = [] 
    m = input ("Numbers of rows: ") 
    n = input ("Numbers of columns: ") 
    for i in xrange(m): 
     for j in xrange(n): 
      print tab[i:j], "= " 
      arr = input ("tab[i:j]") 
      print arr 

내가 루프 tab[i][j] = "value input from keyboard"

+7

그리고 지금까지 시도한 것은 무엇입니까? – RemcoGerlich

+1

스택 오버플로는 코드 변환 서비스가 아닙니다. – geoffspear

+0

파이썬으로이 코드를 작성하는 것이 정말 쉽습니다. –

답변

1

파이썬에서 IOSTREAMS 같은 그런 구현이 없기를위한에서 인쇄 모른다. 다차원 배열도 없습니다. r = raw_input ("Text :")

사용자 매개 변수를 요청할 수 있습니다.

#!/usr/bin/env python 

# untested python code! 

n = int(raw_input("number of rows, n = ")) 
m = int(raw_input("number of cols, m = ")) 

tab = [[0]*n for i in xrange(m)] # generates [[0, 0, .. 0][0, 0, .. 0]...[0, .., 0]] 

for i in range(0, n): 
    for j in range(0, m): 
     tab[i][j] = int(raw_input("tab[%d][%d] = "%(i, j))) 

for i in range(0, n): 
    for j in range(0, m): 
     print "\t\t%d" % tab[i][j] 
    print "\n" 

배열에 numpy와 같은 것을 사용하는 것이 좋습니다. 해시 또는 사전과 같은 더 나은 솔루션이 있습니다.

편집 : 나는 위의 생각대로 : 당신이 표시됩니다

print tab 

전체 구조를 작성하여,이 초기화 후

tab = [[0]*n for i in xrange(m)] 

에 의해 먼저 배열을 초기화 할 필요가있다. 단일 요소처럼 호출 도시되어

print tab[i][j] 

을 콜론 (:)이이 범위 탭에서 지정할 사용 [I] [J] = 탭! [I : J]

print tab[i] # <-- only the first array in the array 
print tab[i][j] # <-- only the element j. element in the i. array 

건배로 행을 계속 인쇄 할 수 있습니다.

+0

왜 10으로 하드 코딩하지 않고'탭 '리스트의 크기를 동적으로 조절하기 위해'n'과'm'을 사용하지 않습니까? – mhawke

+0

'm'과'n'은'range()'에서 사용하기 위해 int로 변환해야하지만 그렇지 않으면 OP의 C++ 버전에 충분히 가깝습니다. – mhawke

관련 문제