鱼C论坛

 找回密码
 立即注册
查看: 1682|回复: 3

[已解决]球球大佬救救孩子,一直只能通过两个测试点找不到原因

[复制链接]
发表于 2020-12-30 16:36:02 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 且停停停停 于 2020-12-30 16:37 编辑

7-4 两数之和 (20分)
给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 "no answer"。输出的下标按从小到大排序。用一重循环加字典实现。

输入格式:
在一行中给出这组数。 在下一行输入目标数

输出格式:
在一行中输出这两个数的下标,用一个空格分开。

输入样例1:
在这里给出一组输入。例如:

2,7,11,15
9
输出样例1:
在这里给出相应的输出。例如:

0 1
输入样例2:
在这里给出一组输入。例如:

3,6,9
10
输出样例2:
在这里给出相应的输出。例如:

no answer



lst=map(int,input().split(","))
lst=list(lst)
goal=int(input())
l=[]
for i in lst:
    for j in lst:
        if i+j==goal:
            a=min(lst.index(i),lst.index(j))
            b=max(lst.index(i),lst.index(j))
            l.append(a)
            print(str(a)+" "+str(b))
    break
if l==[]:
    print("no answer")

以上为我写的代码
最佳答案
2020-12-30 16:44:18
  1. lst = list(map(int,input().split(",")))
  2. n=int(input())
  3. flag=0
  4. for i in range(0,len(lst)):
  5.     for j in range(i,len(lst)):
  6.         if(lst[i]+lst[j]==n):
  7.             print('{:d} {:d}'.format(i,j))
  8.             flag=1
  9. if(flag==0):
  10.     print("no answer")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-30 16:44:18 | 显示全部楼层    本楼为最佳答案   
  1. lst = list(map(int,input().split(",")))
  2. n=int(input())
  3. flag=0
  4. for i in range(0,len(lst)):
  5.     for j in range(i,len(lst)):
  6.         if(lst[i]+lst[j]==n):
  7.             print('{:d} {:d}'.format(i,j))
  8.             flag=1
  9. if(flag==0):
  10.     print("no answer")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-30 16:54:15 | 显示全部楼层

通过了,想问我的有什么问题a?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-30 18:16:31 | 显示全部楼层
且停停停停 发表于 2020-12-30 16:54
通过了,想问我的有什么问题a?


直接判断相等输出就行了,你这个处理有点不太好
  1. a=min(lst.index(i),lst.index(j))
  2. b=max(lst.index(i),lst.index(j))
  3. l.append(a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 17:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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