溟~ 2023-09-11 16:32 采纳率: 87.5%
浏览 12
已结题

用Python怎么做

给定一个列表和一个目标值N, 列表中元素均为不重复的整数。
请从该列表中找出乘为目标位的两个整数,然后只返回其对小领下标组合。N的信由用户输入。
列表中的值1到100
注意·列表中同一个元素不能使用两遍。

  • 写回答

4条回答 默认 最新

  • 梦幻精灵_cq 2023-09-11 16:53
    关注
    • 代码运行效果截屏图片
      一、默认目标整数88

      img


      img


      输入非数字字符串或者不输入直接回车,默认目标整数88。

      二、目标整数45

      img



      三、上标整数99

      img


      由于列表数多,一般不只一对下标满足题意。题目有要求,只能输出字典序较小的一对下标。我采用的是for循环遍历,且是从小到大,找到的第一对符题的下标即是字典序最小,退出两层for循环,打印下标即可。

    Python代码

    #!/sur/bin/nve python
    # coding: utf-8
    from random import shuffle
    lis = list(range(1, 101))
    shuffle(lis)
    print('\n100个整数列表:\n', lis)
    
    target = input('\n输入目标整数(如88):') 
    target = 88 if not target.isdigit() else int(target) # 如果输入非数字字符,默认目标整数为88。
    
    
    for i in range(100):
    
        for j in range(i+1, 100):
            mybool = lis[i]*lis[j] == target # 达成条件bool值。
            
            if mybool:
                #print(i,j) #调试用语句。
                break # 退出内层循环。
    
        if mybool:
            break # 退出首层循环。
    
    #print(i,j) # 调试用语句。
    print(f"\n{lis[i]} × {lis[j]} = {target},({i}, {j})")
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 9月11日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀