我个人觉得前面有位兄台的判断出现了一些问题,借鉴于他的思路完善了一下代码,另外建议,增添一组全部向右,或向左的数据

  1. n=int(input())
  2. L=[int(i) for i in input().split()]
  3. re=0
  4. check=False
  5. if L[0]<0:
  6. for i in L[1:]:
  7. if abs(i)<abs(L[0]) and i>0:
  8. check=True
  9. else:
  10. for i in L[1:]:
  11. if abs(i)>L[0] and i<0:
  12. check=True
  13. if check:
  14. count=1
  15. for i in L:
  16. k=abs(L[0])
  17. if 0<i<k or i<-k:
  18. count+=1
  19. print(count)

咳咳,如果是我理解错了,大家勿怪,新手上路

点赞(0)
 

7.3 分

2 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

AdvanceZha 5年前 回复TA
建议把re=0改成count=1,if条件里的count=1去掉,这样全部向左、全部向右的条件也可以满足了,你这个会报错