1-example.py
1.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
def example1():
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if(i!=j and j!=k and i!=k):
count += 1
print(i, k, k)
print(count)
example1()
# 1 3 3
# 1 4 4
# 1 2 2
# 1 4 4
# 1 2 2
# 1 3 3
# 2 3 3
# 2 4 4
# 2 1 1
# 2 4 4
# 2 1 1
# 2 3 3
# 3 2 2
# 3 4 4
# 3 1 1
# 3 4 4
# 3 1 1
# 3 2 2
# 4 2 2
# 4 3 3
# 4 1 1
# 4 3 3
# 4 1 1
# 4 2 2
# 24
2.企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
def example2(I):
l = [(0, 10), (100000, 7.5), (200000, 6), (400000, 3), (600000, 1.5), (1000000, 1)] # [(利润, 提成百分比)]
bonus = 0
for i in range(len(l)-1, -1, -1):
t = l[i]
if I >= t[0]:
bonus += (I-t[0])*(t[1]/100)
print(bonus)
example2(120000) # 11500
3.输入某年某月某日,判断这一天是这一年的第几天?
import time
import math
def example3(year, month, day):
beginTimestamp = time.mktime((year,1,1,0,0,0,0,0,0)) # 一年开始的一天
timestamp = time.mktime((year,month,day,0,0,0,0,0,0)) # 输入的时间
diff = timestamp-beginTimestamp
num = math.floor(diff/(3600*24)) + 1 # 时间差除每天86400秒加1得到天数
print ('it is the %dth day.' % num)
example3(2015, 6, 7) # it is the 158th day.
4.输入三个整数x,y,z,请把这三个数由小到大输出。
def example4(*nums):
print(nums)
l = []
for i in range(0, len(nums)):
l.append(nums[i])
l.sort()
print(l)
example4(5,78,20,3) # [3, 5, 20, 78]
5.将一个列表的数据复制到另一个列表中。 ***** 重点!重点!!重点!!!
def example5(l):
#retL = l # 直接赋值这种方式,当原表改变时,复制出来的新表也会变化
retL = l[:] # 复制表
return retL
l = [1, 2, 3]
l2 = example5(l)
l[0] = 0
print(l2)
6.暂停一秒输出。
def example6():
for i in range(1, 5):
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
time.sleep(1) # 暂停 1 秒
example6()
7.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
*** 重点!重点!!重点!!!“水仙花数”, 校招笔试题经常见到
def example7():
for num in range(100,1000):
i = math.floor(num / 100)
j = math.floor(num / 10) % 10
k = num % 10
if num == (i**3 + j**3 + k**3):
print(num)
example7()
# 153
# 370
# 371
# 407
8.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
def example8(str):
letters = 0
space = 0
digit = 0
others = 0
i=0
while i < len(str):
c = str[i]
i += 1
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print('char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others))
example8('dsaklj 131h&##921 djasj') # char = 12,space = 3,digit = 6,others = 3