|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题请求:可以一步一步分析def后的东西吗?因为我真的不懂···
if __name__ == '__main__':
n = int(raw_input('整数 n 为:\n'))
m = int(raw_input('向后移 m 个位置为:\n'))
def move(array,n,m):
array_end = array[n - 1]
for i in range(n - 1,-1,- 1):
array[i] = array[i - 1]
array[0] = array_end
m -= 1
if m > 0:move(array,n,m)
number = []
for i in range(n):
number.append(int(raw_input('输入一个数字:\n')))
print '原始列表:',number
move(number,n,m)
print '移动之后:',number
你用的是python2.x吧?我这里是3.x,你把input和print按2.x的规则改了,放进去运行一下就清楚了
==========看不懂就加print函数让自己更好理解就行了
if __name__ == '__main__': # 1
n = int(input('整数 n 为:\n')) # 2
m = int(input('向后移 m 个位置为:\n')) # 3
def move(array,n,m):
array_end = array[n - 1] # 8 把列表的最后一个数赋值给array_end
print('列表总共有%d个数,array[%d]是%d' % (len(array),n-1,array[n-1]))
for i in range(n - 1,-1,- 1): # 9 for in循环,起始值为n-1,终值为-1,步长为-1
array[i] = array[i - 1] # 10把第i-1个元素复制给第i个元素
print('执行移动,i=%d,arry[i]=%d,arry[i-1]=%d' % (i,array[i],array[i-1]))
array[0] = array_end # 11 把原列表最后一个数赋值给现列表第1个元素
m -= 1 # 12 让m自减1
if m > 0:move(array,n,m) # 13如果m>0,继续递归执行函数,否则函数结束
number = [] # 4 初始化列表
for i in range(n):
number.append(int(input('输入一个数字:\n'))) # 5 输入数字加入列表number
print('原始列表:',number) # 6 打印原始列表number
move(number,n,m) # 7 传入参数并调用函数move()
print('移动之后:',number)
|
|