鱼C论坛

 找回密码
 立即注册
查看: 524|回复: 2

题意是什么,打印什么

[复制链接]
发表于 2018-12-15 18:40:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. list1=[4, -3, 3, 4, 4, 2, 1]
  2. list_final=[]
  3. for i in range(len(list1)-1):
  4.     a,b=list1[i],list1[i+1]
  5.     print(a,b)
  6.     if a-b>1:
  7.         for j in range(a,b,-1):
  8.             list_final.append(j)
  9.     elif a-b<-1:
  10.         for j in range(a,b,1):
  11.             list_final.append(j)
  12.     else:
  13.         list_final.append(a)
  14. list_final.append(b)
  15. print(list_final)
  16.   
复制代码


a,b怎么等于4 -3
-3 3
3 4
4 4
4 2
2 1
什么等于大于小于,再用列表添加,做什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-15 19:02:50 | 显示全部楼层
  1. list1=[4, -3, 3, 4, 4, 2, 1]
  2. list_final=[]
  3. for i in range(len(list1)-1):
  4.     a,b=list1[i],list1[i+1] #这里相当于a=list[i],b=list[i+1]
  5.     print(a,b)
  6.     if a-b>1:
  7.         for j in range(a,b,-1):
  8.             list_final.append(j)
  9.     elif a-b<-1:
  10.         for j in range(a,b,1):
  11.             list_final.append(j)
  12.     else:
  13.         list_final.append(a)
  14. list_final.append(b)
  15. print(list_final)
  16.   
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-15 19:51:47 | 显示全部楼层
本帖最后由 heidern0612 于 2018-12-15 19:53 编辑

先看05行print(a,b),这个比较好算,就是挨着的两个两个元素那么算(i和i+1),也就是最后print里面的4,-3、-3,3、……一直到2、1,list1的列表循环完。



然后往下计算:

第一次:

下面a - b >1的情况,循环0的时候a为4,b为-3,a-b为7.

所以a-b>1,进入for循环,范围为(4,-3)步进为-1,也就是往回倒着走,list_finalappend的结果为[4,3,2,1,0,-1,-2]


第二次:
a为-3、b为3。a-b结果为-6。

满足elif条件,range范围为(-3到3),步进默认1,

final_list里append进(-3,-2,-1,0,1,2)




第三次:a为3,b为4,a-b结果为-1

满足else.append一个a的值,也就是(3),



……以下,往后类推就可以了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 05:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表