鱼C论坛

 找回密码
 立即注册
查看: 1992|回复: 7

[已解决]求助

[复制链接]
发表于 2023-4-14 16:05:19 | 显示全部楼层 |阅读模式

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

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

x
# -*- coding: utf-8 -*-
'''
请只在 "
##########start 下面可以改动

##########end 上面可以改动 "

中间部分作答,作答行数自由调整


题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:
输入: [1,2,3,1]
输出: true

示例 2:
输入: [1,2,3,4]
输出: false

示例3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true


'''

def TEST_DO_NOT_CHANGE(nums):
    print(nums)
    factorial = None
    ##########start下面可以改动
    for i in nums:
        if nums.count(i)>1:
            print("true")
        else:
            print("false")



    ##########end 上面可以改动 "
    return factorial

if __name__ == "__main__":
    print(TEST_DO_NOT_CHANGE([1,2,3,1]))
    print(TEST_DO_NOT_CHANGE([1,2,3,4]))
    print(TEST_DO_NOT_CHANGE([1,1,1,3,3,4,3,2,4,2]))
代码如何小幅度修改实现修正
最佳答案
2023-4-14 17:21:10
本帖最后由 isdkz 于 2023-4-14 18:53 编辑

您的代码逻辑有一些错误,您应该在找到重复元素时返回 True,否则在循环结束后返回 False。

此外,函数的返回值应该是布尔值,而不是 None。这是修改后的代码:
# -*- coding: utf-8 -*-
'''
请只在 "
##########start 下面可以改动

##########end 上面可以改动 "

中间部分作答,作答行数自由调整


题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:
输入: [1,2,3,1]
输出: true

示例 2:
输入: [1,2,3,4]
输出: false

示例3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true


'''

def TEST_DO_NOT_CHANGE(nums):
    ##########start下面可以改动
    for i in nums:
        if nums.count(i) > 1:
            return "true"
    return "false"
    ##########end 上面可以改动

if __name__ == "__main__":
    print(TEST_DO_NOT_CHANGE([1,2,3,1]))
    print(TEST_DO_NOT_CHANGE([1,2,3,4]))
    print(TEST_DO_NOT_CHANGE([1,1,1,3,3,4,3,2,4,2]))

这个代码现在可以正确地判断给定整数数组中是否存在重复元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-14 16:17:05 | 显示全部楼层
本帖最后由 jackz007 于 2023-4-14 16:19 编辑
def TEST_DO_NOT_CHANGE(nums):
    print(nums)
    factorial = None
    ##########start下面可以改动
    factorial = len(nums) != len(set(nums))
    ##########end 上面可以改动 "
    return factorial
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-14 16:30:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 16:47:07 | 显示全部楼层
本帖最后由 jackz007 于 2023-4-14 16:49 编辑


        set() 是 Python 的 BIF,用途是把序列对象转化为集合,集合有一个性质,不允许有重复元素存在,如果把一个序列对象转换为集合后,其元素数量没有发生减少,那就说明其中不含重复元素。所以,可以根据转换前后,序列对象中元素数量是否减少来判定是否存在重复元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 17:21:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2023-4-14 18:53 编辑

您的代码逻辑有一些错误,您应该在找到重复元素时返回 True,否则在循环结束后返回 False。

此外,函数的返回值应该是布尔值,而不是 None。这是修改后的代码:
# -*- coding: utf-8 -*-
'''
请只在 "
##########start 下面可以改动

##########end 上面可以改动 "

中间部分作答,作答行数自由调整


题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:
输入: [1,2,3,1]
输出: true

示例 2:
输入: [1,2,3,4]
输出: false

示例3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true


'''

def TEST_DO_NOT_CHANGE(nums):
    ##########start下面可以改动
    for i in nums:
        if nums.count(i) > 1:
            return "true"
    return "false"
    ##########end 上面可以改动

if __name__ == "__main__":
    print(TEST_DO_NOT_CHANGE([1,2,3,1]))
    print(TEST_DO_NOT_CHANGE([1,2,3,4]))
    print(TEST_DO_NOT_CHANGE([1,1,1,3,3,4,3,2,4,2]))

这个代码现在可以正确地判断给定整数数组中是否存在重复元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 18:32:36 | 显示全部楼层
本帖最后由 jackz007 于 2023-4-14 18:42 编辑
isdkz 发表于 2023-4-14 17:21
您的代码逻辑有一些错误,您应该在找到重复元素时返回 True,否则在循环结束后返回 False。

此外, ...


        什么“逻辑错误",纯属危言耸听!!!
D:\[exercise]\Python>python x.py
[1, 2, 3, 1]
True
[1, 2, 3, 4]
False
[1, 1, 1, 3, 3, 4, 3, 2, 4, 2]
True

D:\[exercise]\Python>
         这是我的代码的运行结果,你试过没有就在那里下断言,如果说存在问题,可能是这个函数应该返回字符串对象,而我让它直接返回了布尔对象。反映在运行结果上,那就是题目要求 true / false 全小写,而我的代码会把首字母大写而已。
         你的代码完美,函数的 return 语句怎么被废弃了?

         拜托你回答问题只要针对题目就好了,不要借机踩踏别人!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 18:53:21 | 显示全部楼层
jackz007 发表于 2023-4-14 18:32
什么“逻辑错误",纯属危言耸听!!!

         这是我的代码的运行结果,你试过没有就在那 ...

我去,我是回复点错地方了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 18:56:39 | 显示全部楼层
jackz007 发表于 2023-4-14 18:32
什么“逻辑错误",纯属危言耸听!!!

         这是我的代码的运行结果,你试过没有就在那 ...

老哥,实在不好意思,我是想回复楼主的,点错地方了,抱歉抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 20:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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