菜鸟Python案例练习(一)

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

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if (i!=k) and (k!=j) and (i!=j):
                print(i,j,k)

二、企业发放的奖金根据利润提成。

利润(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,求应发放奖金总数?

# 分支结构实现
s=int(input("净利润是:"))
arr = [1000000, 600000, 400000,  200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r=0
if (s<=arr[4]):
    r=s*rat[5]
elif (arr[4]<s<arr[3]):
    r=(s-arr[4])*rat[4] + 10000
elif (arr[3]<s<arr[2]):
    r=(s-arr[3])*rat[3] + 10000 + 7500
elif (arr[2]<s<arr[1]):
    r=(s-arr[2])*rat[2] + 10000 + 7500 + 10000
elif (arr[1]<s<arr[0]):
    print('111')
    r=(s-arr[1])*rat[1] + 10000 + 7500 + 10000 + 6000
elif (arr[0]<s):
    r=(s-arr[0])*rat[0] + 10000 + 7500 + 10000 + 6000 + 6000
print("应发放奖金总数:",r,"元")
# 列表循环实现
x = int(input("净利润是:"))
arr1 = [1000000, 600000, 400000,  200000, 100000, 0]
rat1 = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
y = 0
for idx in range(0,6):
    y+=(x-arr1[idx])*rat1[idx]
    print("大于", arr1[idx], "的奖金是:", (x-arr1[idx])*rat1[idx])
    x = arr1[idx]
print("总的奖金是:", y)

三、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

import math
print(math.sqrt(2))
def result_num():
    for q in range(1,10000):
        if math.sqrt(q+100).is_integer():
            if math.sqrt(q+100+168).is_integer():
                return q
result = result_num()
print("符合条件的整数是:", result)

四、输入某年某月某日,判断这一天是这一年的第几天?

year = int(input("年:"))
month = int(input("月:"))
day = int(input("日:"))
allday = 0
for m in range(month):
    if m==1 or m==3 or m==5 or m==7 or m==8 or m==10 or m==12:
        allday += 31
    elif m==3 or m==4 or m==6 or m==9:
        allday += 30
    elif m==2:
        if year%400 ==0 or (year%4 == 0 and year%100 !=0) :
            allday+=29;
        else:
            allday+=28;
allday = day + allday
print("是一年的第%d天"%allday)

五、输入三个整数x,y,z,请把这三个数由小到大输出

x = int(input("x:"))
y = int(input("y:"))
z = int(input("z:"))
l = [x, y, z]
l.sort()
print(l)

六、斐波那契数列 数学上是用递归来定义 a0=0 a1=1 an=a(n-1)+a(n-2)(n>=2)

# 输出指定数列
def fib(n):
    if (n==1 or n==2):
        return 1
    elif (n==0):
        return 0
    return fib(n-1)+fib(n-2)
print(fib(0),'0')
print(fib(10), '10')
# 输出指定个数数列
def fib1(n):
    if n==1:
        return [0]
    if n==2:
        result [0,1]
    fib1s = [0,1]
    for f in range(2,n):
        fib1s.append(fib1s[-1] + fib1s[-2])
    return fib1s
print(fib1(7))

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

list1 = ["q", "w", "e", "d"]
list2 = list1[:]
print(list2)

八、输出 9*9 乘法口诀表

for i in range(1, 10):
    print() 
    for j in range(1, i+1):
        print ("%d*%d=%d" % (i, j, i*j), end=" " )

九、暂停一秒输出。

import time
myday={
    "a": "1",
    "b": "2",
    "c": "3",
}
for val, key in dict.items(myday):
    print(val, key)
    time.sleep(1)

十、暂停一秒输出,并格式化当前时间。

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())))

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值