python人工智能面试题_网易互娱-8.9-人工智能岗笔试题-Python

总结:仔细读题,细心...

1.个税缴纳

易错点:各个边界的数值,以及最后的四舍五入

def calTax(money):

more = money - 5000

if more <= 0:

return 0

if more < 3000:

return more * 0.03

if 3000 <= more < 12000:

return 3000 * 0.03 + (more - 3000) * 0.1

if 12000 <= more < 25000:

return 3000 * 0.03 + 9000 * 0.1 + (more - 12000) * 0.2

if 25000 <= more < 35000:

return 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + (more - 25000) * 0.25

if 35000 <= more < 55000:

return 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + (more - 35000) * 0.3

if 55000 <= more < 80000:

return 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3 + (more - 55000) * 0.35

if more >= 80000:

return 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3 + 25000 * 0.35 + (more - 80000) * 0.45

if __name__ == "__main__":

T = int(input())

# 四舍五入到整数

for _ in range(T):

money = int(input())

print(int(calTax(money) + 0.5))

2.成员列表

dic1 = {}

N = int(input()) #群组人数-身份

for _ in range(N):

line = input().split()

identity, name = int(line[0]), line[1]

dic1[name] = identity

dic2 = {}

M = int(input()) #成员状态变化记录-状态

for _ in range(M):

line = input().split()

name, status = line[0], int(line[1])

dic2[name] = status

for name in dic2:

dic1[name] += dic2[name] * 10

res = sorted(dic1.items(), key=lambda kv: (-kv[1], kv[0]))

for name, val in res:

print(name)

3. 时间区间

测试用例过了,但是0%-AC,不知道哪里错了,求指正

def helper(w, time):

h,m,s = list(map(int, time.split(":")))

return w * 24 * 3600 + h * 3600 + m * 60 + s # 转换成秒数

def judge(time, openday):

res = float("inf")

for begin, end in openday:

if begin <= time <= end:

return 0

if begin > time:

res = min(res, begin - time)

return res

T = int(input()) # 样例数

for _ in range(T):

openday = []

K = int(input()) # K天开放

for _ in range(K):

line = input().split()

W, M = int(line[0]), int(line[1])

for i in range(M):

begin, end = line[i+2].split("-")

openday.append((helper(W, begin), helper(W, end)))

c = int(input()) # c个查询

for _ in range(c):

line = input().split()

w, clock = int(line[0]), line[1]

time = helper(w, clock)

print(judge(time, openday))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值