原理: 请看本人博客:线性方程组的迭代求解算法——原理 代码: import numpy as np max=100#迭代次数上限 Delta=0.01 m=2#阶数:矩阵为2阶 n=3#维数:3X3的矩阵 shape=np.full(m, n) shape=tuple(shape) def read_tensor(f,shape):#读取张量 data=[] for i in range(n**(m-1)): line = f.readline() data.append(list(map(e
#汉诺塔 def hanni(n,A,B,C): if n == 1: print (A,'-->',C) else: # 将n-1个盘子移动到B上 hanni(n-1,A,C,B) # 将第n个移动到C上 print(A,'-->',C) # 将n-1个移动到C上 hanni(n-1,B,A,C) hanni(3,'A','B','C') #阶乘 #迭代 def factorial(N): F = 1 for i in range(1,N+1): F *= i return F #递归 de
(一)索引迭代 Python中,迭代永远是取出元素本身,而非元素的索引. 如果要取索引可以用enumerate()函数 例: L = ['Adam', 'Lisa', 'Bart', 'Paul'] for index, name in enumerate(L): print index, '-', name 结果: 0 - Adam 1 - Lisa 2 - Bart 3 - Paul使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name.但是,这不是
#迭代Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上. #list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代: d = {'a':1, 'b':2, 'c':3} for key in d: print(key) #因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样. #默认情况下,dict迭代的是key.如果要迭代value,可以用f