python练习题1.1

1、有四个数字:1、2、3、4,能组成多少互不相同且无重复数字的三位数?各是多少?

n = 0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if (i != k) and (i !=j ) and (j != k):
                print(i,j,k)
                n += 1
print(n)
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
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的提1%,从键盘输入当月利润I,求发放奖金的总数?

arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
while(1):
    i = int(input('请输入当月利润:'))
    if i == 0:
        break
    result = 0
    for idx in range(0,6):
        if i > arr[idx]:
            result += (i-arr[idx])*rat[idx]
            i = arr[idx]
    print(result)
请输入当月利润:100
10.0
请输入当月利润:0

3、输入三个整数x,y,z,请把这三个数由小到大输出(有内置排序函数

my_list = []
for i in range(3):
    x = int(input('input:'))
    my_list.append(x)
# 排序sort()
my_list.sort()
# my_list.sort(reverse = True),排序反转,从大到小
my_list
input:1
input:5
input:4





[1, 4, 5]

4、将一个列表的数据复制到另一个列表中

a = [1,2,3]
b = a[:]
b
[1, 2, 3]

5、暂停一秒输出,并格式化当前时间。使用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(3)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
2019-06-29 11:33:40
2019-06-29 11:33:41
2019-06-29 11:33:44

6、打印所有的水仙花数,三位数,其各个位置的数字的立方和等于该数本身

for x in range(1,10):
    for y in range(0,10):
        for z in range(0,10):
            s1 = x*100+y*10+z
            s2 = pow(x,3)+pow(y,3)+pow(z,3)
            if s1 == s2:
                print(s1)
153
370
371
407

7、输入一行字符,分别统计其中英文字母,空格,数字和其他字符的个数(有内置判断函数)

s = input('input:')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
    if c.isalpha():
        letters += 1
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        others += 1
print('字母:%d 空格:%d 数字:%d 其他:%d'%(letters,space,digit,others))
input:454123.f  ui  oufopsd3$45%3
字母:10 空格:4 数字:10 其他:3

8、一球从100米高度自由落下,每次落地后返回原高度的一半,在落下,求它在第10次落地时,共经过多少米?第十次反弹多高?

h = 100 #总高度
time = 10 #次数
height = []#反弹高度
for i in range(2,time+1):
    h /=2
    height.append(h)
print(min(height)/2)
print(sum(height)*2+100)
0.09765625
299.609375

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值