pallas 发表于 2021-10-15 13:53:52

求助大佬解决一下这个问题(Python - 两数之和),谢谢!!

题目:

pallas 发表于 2021-10-15 13:54:37

问题

pallas 发表于 2021-10-15 13:57:35

能有其他方法解决这个问题吗?
最好有住宿{:10_256:}

pallas 发表于 2021-10-15 13:58:12

注释

pallas 发表于 2021-10-15 14:03:04

会报错,不知道怎么改

niuniuniu666 发表于 2021-10-15 14:09:20

建议你发代码{:10_254:}

pallas 发表于 2021-10-15 14:21:32

    if number == 1:
      num1 = input("请输入数字num:")
      a = int(num1)
      num2 = input("请输入数字target:")
      b = int(num2)

      def x(nums, target):
            result = []
            for i in range(len(nums)):
                for j in range(i + 1, len(nums)):
                  if nums + nums == target:
                        result.append((i + 1, j + 1))
            return result
      print(x(a,b))

傻眼貓咪 发表于 2021-10-15 15:22:15

nums = ; target = 9

def result(nums: list, target: int) -> list:
    for i in range(len(nums)):
      for j in range(i+1, len(nums)):
            if nums+nums == target:
                return

print(result(nums, target))

pallas 发表于 2021-10-16 13:22:28

nums和target能自己输入吗?

pallas 发表于 2021-10-16 20:04:19

傻眼貓咪 发表于 2021-10-15 15:22


大佬,我想问一下这个代码的意思是什么{:10_254:}

傻眼貓咪 发表于 2021-10-16 20:15:06

pallas 发表于 2021-10-16 20:04
大佬,我想问一下这个代码的意思是什么

nums = ; target = 9 # 这里可以自定义

def result(nums: list, target: int) -> list: # 定义函数(这里的 list int 和 -> list 可以不用写,纯粹只是告知别人,函数参数类型和返回类型)
    for i in range(len(nums)): # for 迴圈,从第一个元素开始循环
      for j in range(i+1, len(nums)): # for 迴圈,从 i 之后开始循环(不然 i 和 j 重复)
            if nums+nums == target: # 假设 nums + nums 等于 target
                return # 则返回 i 和 j

print(result(nums, target)) # 打印结果

pallas 发表于 2021-10-16 20:20:49

感谢大佬

pallas 发表于 2021-10-16 20:23:39

大佬,我能问一下为啥这个代码有问题呢?
nums = list(eval(input("请输入一个数字nums:")))
      target = int(eval(input("请输入一个数字target:")))


      def result(nums: list, target: int) -> list:# 定义函数(这里的 list int 和 -> list 可以不用写,纯粹只是告知别人,函数参数类型和返回类型)
            for i in range(len(nums)):# for ,从第一个元素开始循环
                for j in range(i + 1, len(nums)):# for ,从 i 之后开始循环(不然 i 和 j 重复)
                  if nums + nums == target:# 假设 nums + nums 等于 target
                        return # 则返回 i 和 j


      print(result(nums, target))
{:10_254:}
页: [1]
查看完整版本: 求助大佬解决一下这个问题(Python - 两数之和),谢谢!!