在C ++中,我有以下代码,我想在Python中使用相同的代码。
#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
我不知道要在for循环中打印tab[i][j] = "value input from keyboard"
答案 0 :(得分:1)
在python中没有像iostream这样的实现。也没有多维数组。 你会用的 r = raw_input(&#34; Text:&#34;)
请求用户的参数。
#!/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这样的数组。有更好的解决方案,如哈希或字典。
修改强>: 正如我上面所说:你需要首先通过
初始化数组tab = [[0]*n for i in xrange(m)]
初始化后,通过编写
print tab
将显示整个结构。通过调用它来显示单个元素:
print tab[i][j]
使用冒号(:)指定范围, tab [i] [j]!= tab [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
干杯。