(一)有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(暴力法,熟悉判断条件)
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i != j) and (i != k) and (j != k):
print(i,j,k)
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 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,求应发放奖金总数?"
profit = int(input('请输入你的利润值(单位:万元):'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0,1]
money = 0
for i in range(0,6):
if profit > arr[i]:
money += (profit - arr[i]) * rat[i]
profit = arr[i]
print('Your total money is: ',money)
请输入你的利润值(单位:万元):2000000
Your total money is: 39500.0
(三)输入三个整数x,y,z,请把这三个数由小到大输出"
my_list = []
for i in range(3):
tmp = int(input('input: '))
my_list.append(tmp)
my_list.sort(reverse = False)
my_list
input: 5566
input: 6865
input: 565
[565, 5566, 6865]
(四)将一个列表的数据复制到另一个列表中
a = [1,2,3]
b = a[:]
b
[1, 2, 3]
(五)暂停一秒输出,并格式化当前时间。使用 time 模块的 sleep() 函数
import time
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
time.sleep(1)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
time.sleep(2)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
2019-03-02 11:11:01
2019-03-02 11:11:02
2019-03-02 11:11:04
(六)打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
for i in range(1,10):
for j in range(0,10):
for k in range(0,10):
x = i * 100 + j * 10 + k
y = pow(i,3) + pow(j,3) + pow(k,3)
if x == y:
print(x)
153
370
371
407
(七)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
str_input = input('input: ')
letter = 0
space = 0
digit = 0
others = 0
for c in str_input:
if c.isalpha():
letter += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print('char = %d,digit = %d,space = %d,others = %d' % (letter,space,digit,others))
input: sds6156 (*()*0
char = 3,digit = 2,space = 5,others = 5
(八)一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
h = 100
height = []
time = 10
for i in range(2,time+1):
h /= 2
height.append(h)
print(sum(height) * 2 + 100)
print(min(height) / 2)
299.609375
0.09765625