鱼C论坛

 找回密码
 立即注册
查看: 1979|回复: 1

求助

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

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

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

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下面可以改动



    ##########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]))

2.
# -*- coding: utf-8 -*-
'''
函数代码请只在 "
##########start 下面可以改动

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

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


题目:输入一行字符input_str,
    分别统计出其中英文字母、空格、数字和其它字符的个数,
    并将结果依次保存到列表lst_rlt.
    输出示例:[中英文字母个数,空格个数,数字个数,其他字符个数]
   
程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'。

'''


def TEST_DO_NOT_CHANGE(input_str):
    lst_rlt=[]
    ##########start下面可以改动



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

   
if __name__ == "__main__":
    print (TEST_DO_NOT_CHANGE('123runoobc  kdf235*(dfl)')
    #######下面可以添加测试语句
   
3.
# -*- coding: utf-8 -*-
'''
函数代码请只在 "
##########start 下面可以改动

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

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

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
     利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
     20万到40万之间时,高于20万元的部分,可提成5%;
     40万到60万之间时高于40万元的部分,可提成3%;
     60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成。
     如果给定利润V,求应发放奖金总数?
     
     
程序分析:请利用数轴来分界,定位。

'''



def TEST_DO_NOT_CHANGE(V):
    rlt = None
    ##########start下面可以改动




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

   
if __name__ == "__main__":
    print (TEST_DO_NOT_CHANGE(120000))
    print (TEST_DO_NOT_CHANGE(1200000))
    #######下面可以添加测试语句

4.# -*- coding: utf-8 -*-
'''
函数代码请只在 "
##########start 下面可以改动

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

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


题目:两个 3 行 3 列的矩阵X、Y,实现其对应位置的数据相加,并返回一个新矩阵rlt_Z
X = [[12,7,3],[4 ,5,6],[7 ,8,9]]
Y = [[5,8,1],[6,7,3],[4,5,9]]  
'''



def TEST_DO_NOT_CHANGE(X,Y):
    print(X,Y)
    rlt_Z = None
    ##########start下面可以改动
   

    ##########end 上面可以改动
    return rlt_Z
   

   
if __name__ == "__main__":
    X = [[12,7,3],[4 ,5,6],[7 ,8,9]]
    Y = [[5,8,1],[6,7,3],[4,5,9]]
    print (TEST_DO_NOT_CHANGE(X,Y))
    #######下面可以添加测试语句
   
5.
# -*- coding: utf-8 -*-
'''
请只在 "
##########start 下面可以改动

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

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


题目
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

示例:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
'''

def TEST_DO_NOT_CHANGE( nums, target):
    print(nums, target)
    lst_rlt = []
    ##########start下面可以改动



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

if __name__ == "__main__":
    print(TEST_DO_NOT_CHANGE([2,7,11,15],9))
    print(TEST_DO_NOT_CHANGE([3,2,4],6))
    print(TEST_DO_NOT_CHANGE([3,3],6))
新手 求助 用简单一些 能看的懂得函数 谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-4-14 14:00:37 | 显示全部楼层
1、
  1. def containsDuplicate(nums):
  2.     return len(nums) != len(set(nums))

  3. if __name__ == "__main__":
  4.     print(containsDuplicate([1,2,3,1]))
  5.     print(containsDuplicate([1,2,3,4]))
  6.     print(containsDuplicate([1,1,1,3,3,4,3,2,4,2]))
复制代码


2、
  1. def count_characters(input_str):
  2.     letter_count = 0
  3.     space_count = 0
  4.     digit_count = 0
  5.     other_count = 0

  6.     for char in input_str:
  7.         if char.isalpha():
  8.             letter_count += 1
  9.         elif char.isspace():
  10.             space_count += 1
  11.         elif char.isdigit():
  12.             digit_count += 1
  13.         else:
  14.             other_count += 1
  15.             
  16.     return [letter_count, space_count, digit_count, other_count]

  17. if __name__ == "__main__":
  18.     print(count_characters('123runoobc  kdf235*(dfl)'))
复制代码


3、
  1. def calculate_bonus(V):
  2.     if V <= 100000:
  3.         bonus = V * 0.1
  4.     elif V <= 200000:
  5.         bonus = 100000 * 0.1 + (V - 100000) * 0.075
  6.     elif V <= 400000:
  7.         bonus = 100000 * 0.1 + 100000 * 0.075 + (V - 200000) * 0.05
  8.     elif V <= 600000:
  9.         bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (V - 400000) * 0.03
  10.     elif V <= 1000000:
  11.         bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (V - 600000) * 0.015
  12.     else:
  13.         bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (V - 1000000) * 0.01
  14.     return bonus

  15. if __name__ == "__main__":
  16.     print(calculate_bonus(120000))
  17.     print(calculate_bonus(1200000))
复制代码


4、
  1. def matrix_addition(X, Y):
  2.     result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

  3.     for i in range(len(X)):
  4.         for j in range(len(X[0])):
  5.             result[i][j] = X[i][j] + Y[i][j]

  6.     return result

  7. if __name__ == "__main__":
  8.     X = [[12,7,3],[4 ,5,6],[7 ,8,9]]
  9.     Y = [[5,8,1],[6,7,3],[4,5,9]]
  10.     print(matrix_addition(X, Y))
复制代码


5、
  1. def two_sum(nums, target):
  2.     index_map = {}
  3.     for i, num in enumerate(nums):
  4.         if target - num in index_map:
  5.             return [index_map[target - num], i]
  6.         index_map[num] = i

  7. if __name__ == "__main__":
  8.     print(two_sum([2,7,11,15], 9))
  9.     print(two_sum([3,2,4],6))
  10.     print(two_sum([3,3],6))
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 21:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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