求助
# -*- coding: utf-8 -*-'''
请只在 "
##########start 下面可以改动
##########end 上面可以改动 "
中间部分作答,作答行数自由调整
题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入:
输出: true
示例 2:
输入:
输出: false
示例3:
输入:
输出: 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())
print(TEST_DO_NOT_CHANGE())
print(TEST_DO_NOT_CHANGE())
代码如何小幅度修改实现修正 本帖最后由 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 jackz007 发表于 2023-4-14 16:17
set是什么意思 本帖最后由 jackz007 于 2023-4-14 16:49 编辑
Larryeric 发表于 2023-4-14 16:30
set是什么意思
set() 是 Python 的 BIF,用途是把序列对象转化为集合,集合有一个性质,不允许有重复元素存在,如果把一个序列对象转换为集合后,其元素数量没有发生减少,那就说明其中不含重复元素。所以,可以根据转换前后,序列对象中元素数量是否减少来判定是否存在重复元素。 本帖最后由 isdkz 于 2023-4-14 18:53 编辑
您的代码逻辑有一些错误,您应该在找到重复元素时返回 True,否则在循环结束后返回 False。
此外,函数的返回值应该是布尔值,而不是 None。这是修改后的代码:
# -*- coding: utf-8 -*-
'''
请只在 "
##########start 下面可以改动
##########end 上面可以改动 "
中间部分作答,作答行数自由调整
题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入:
输出: true
示例 2:
输入:
输出: false
示例3:
输入:
输出: 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())
print(TEST_DO_NOT_CHANGE())
print(TEST_DO_NOT_CHANGE())
这个代码现在可以正确地判断给定整数数组中是否存在重复元素。 本帖最后由 jackz007 于 2023-4-14 18:42 编辑
isdkz 发表于 2023-4-14 17:21
您的代码逻辑有一些错误,您应该在找到重复元素时返回 True,否则在循环结束后返回 False。
此外, ...
什么“逻辑错误",纯属危言耸听!!!
D:\\Python>python x.py
True
False
True
D:\\Python>
这是我的代码的运行结果,你试过没有就在那里下断言,如果说存在问题,可能是这个函数应该返回字符串对象,而我让它直接返回了布尔对象。反映在运行结果上,那就是题目要求 true / false 全小写,而我的代码会把首字母大写而已。
你的代码完美,函数的 return 语句怎么被废弃了?
拜托你回答问题只要针对题目就好了,不要借机踩踏别人!!! jackz007 发表于 2023-4-14 18:32
什么“逻辑错误",纯属危言耸听!!!
这是我的代码的运行结果,你试过没有就在那 ...
我去,我是回复点错地方了{:10_277:} jackz007 发表于 2023-4-14 18:32
什么“逻辑错误",纯属危言耸听!!!
这是我的代码的运行结果,你试过没有就在那 ...
老哥,实在不好意思,我是想回复楼主的,点错地方了,抱歉抱歉{:10_277:}
页:
[1]