(练习)Python实例1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24459491/article/details/84669791

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

猜你喜欢

转载自blog.csdn.net/qq_24459491/article/details/84669791
今日推荐