python面试练习题
下面会输出什么
funcs = [lambda x:x*i for i in range(4)]
print([fun(2) for fun in funcs])
0、给定两个列表,怎么找出他们相同的元素和不同的元素?
a = [1,2,3,4,7]
b = [1,2,4,2,5]
a = set(a)
b = set(b)
print(a&b)
print(a^b)
1、将1-2-3-4转换成2-1-4-3。
nums = [1, 2, 3, 4]
for num in nums:
if num % 2 == 0:
nums.insert(nums.index(num)-1, num)
nums.pop(num)
2 、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
nums = []
for i in range(1, 5):
for j in range(1, 5):
for l in range(1, 5):
if i != j and j != l and i != l:
res = i * 100 + j * 10 + l
nums.append(res)
3、企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润I,求应发放奖金总数?
money = int(input("请输入金额:"))
profits = [1000000, 600000, 400000, 200000, 100000, 0]
ts = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for i in range(6):
if money > profits[i]:
r += (money - profits[i]) * ts[i]