鱼C论坛

 找回密码
 立即注册
查看: 1335|回复: 9

[已解决]python

[复制链接]
发表于 2020-8-1 18:39:00 | 显示全部楼层 |阅读模式

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

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

x
请问大家怎么判断一个一维数组的某一个元素大于一个值,并且找出这个元素所在的位置,
比如[2,1,3,4,2,5,6,7,8,9],如果小于3的就返回这个元素的位置,比如if 3>1,return y=2z这样子
求助QAQ
最佳答案
2020-8-1 18:50:13
本帖最后由 Twilight6 于 2020-8-1 18:51 编辑

[b]
找出一个直接用 for 循环遍历不就行了:

  1. array = [2, 1, 3, 4, 2, 5, 6, 7, 8, 9]

  2. user = int(input('请输入你要判断的整数:'))
  3. def judge(array,user_number):
  4.     for i in range(len(array)):
  5.         if array[i] > user_number:
  6.             return i
  7. print(judge(array,user))
复制代码


全部找出:
  1. array = [2,1,3,4,2,5,6,7,8,9]

  2. user = int(input('请输入你要判断的整数:'))
  3. small = []
  4. big = []
  5. equal = []

  6. for i in range(len(array)):
  7.     if array[i] > user:
  8.         big.append(i)
  9.     elif array[i] < user:
  10.         small.append(i)
  11.     else:
  12.         equal.append(i)
  13. print('比 %d 小的对应数组位置参数为:%s'%(user,small))
  14. print('比 %d 大的对应数组位置参数为:%s'%(user,big))
  15. print('等于 %d 的对应数组位置参数为:%s'%(user,equal))
复制代码
[/b]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-1 18:50:49 | 显示全部楼层
  1. a = [2,1,3,4,2,5,6,7,8,9]
  2. print([i for i,x in  enumerate(a) if x < 3])
复制代码

这样可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-1 18:50:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-8-1 18:51 编辑

[b]
找出一个直接用 for 循环遍历不就行了:

  1. array = [2, 1, 3, 4, 2, 5, 6, 7, 8, 9]

  2. user = int(input('请输入你要判断的整数:'))
  3. def judge(array,user_number):
  4.     for i in range(len(array)):
  5.         if array[i] > user_number:
  6.             return i
  7. print(judge(array,user))
复制代码


全部找出:
  1. array = [2,1,3,4,2,5,6,7,8,9]

  2. user = int(input('请输入你要判断的整数:'))
  3. small = []
  4. big = []
  5. equal = []

  6. for i in range(len(array)):
  7.     if array[i] > user:
  8.         big.append(i)
  9.     elif array[i] < user:
  10.         small.append(i)
  11.     else:
  12.         equal.append(i)
  13. print('比 %d 小的对应数组位置参数为:%s'%(user,small))
  14. print('比 %d 大的对应数组位置参数为:%s'%(user,big))
  15. print('等于 %d 的对应数组位置参数为:%s'%(user,equal))
复制代码
[/b]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 19:27:03 | 显示全部楼层
a = [2,1,3,4,2,5,6,7,8,9]
for i,j in enumerate(a):
    if j < 3:
        print(j,' ','位置:',i)
等价于3楼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 09:27:31 | 显示全部楼层
Twilight6 发表于 2020-8-1 18:50
找出一个直接用 for 循环遍历不就行了:

谢谢哥哥,会了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 09:28:07 | 显示全部楼层

那就设置下最佳答案吧~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 09:46:15 | 显示全部楼层
均昊山 发表于 2020-8-1 19:27
a = [2,1,3,4,2,5,6,7,8,9]
for i,j in enumerate(a):
    if j < 3:

谢谢哥哥明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 09:47:32 | 显示全部楼层

谢谢哥哥明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 09:55:44 | 显示全部楼层
%d 是什么意思?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 10:02:47 | 显示全部楼层

格式化整数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 16:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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