python实战

这些都是我之前学习时练习过的python简单案例

每次更新两个实战代码

实战一:九九乘法口诀表
第一步:定义乘数x,即每一行中不变的那个数: 定义被乘数y,即每一行的乘以乘数 x,依次递增1,但             不超过x的数。
第二步: print 被乘数、乘数、积的相关信息,当乘数增加1时,输出一个换行。
第三步:格式化输出最大长度为6的字符串,右补空格,以显示整齐。
代码如下(example_ 99.py) :
 

# -*- coding: utf-8 -*-
for x in range(1, 10):  # x是乘数
    for y in range(1, x + 1):  # y是被乘数
        print(f"{y}x{x}={x * y}".ljust(6), end=' ')
        # 使用新特性格式化字符串,也可以使用format,%等格式化,其中ljust(6)左对齐,长度为6,右补空格
    print("")   #打印一个换行

实战二:发放奖金的梯度

企业发放的奖金根据利润提成,利润(I)低于或等于10万元时,奖金可提10%;
利润高于0万元低于 20万元时, 低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;
20万元到40万元之间时,高于20万元的部分可提成5%; 40万元到60万元之间时,高于40
万元的部分可提成3%; 60万元到100万元之间时,高于60万元的部分可提成1.5%;高于100
万元时,超过100万元的部分按1%提成。计算给定的利润I,应发奖金总数。
本例技术点:利用数组(列表)来分界和定位。
代码如下(reward demo.py) :

# -*- coding: utf-8 -*-
arr = [1000000, 600000, 400000, 200000, 100000, 0]    #定义利润列表
rat = [0.01, 0.015,  0.03, 0.05, 0.075, 0.1]    #定义提成比例列表,与利润列表一一对应

while True:
    i = input('净利润(q退出): ')    #获取用户输入
    if i == 'q':
        exit (0)                   #退出程序
    if not i.isdigit():            #如果不是数字,则重新开始循环,重新输入数据
        continue
    reward = []                    #定义奖金列表,存放每一区间计算的奖金
    print("奖金为:",end='')       #不换行
    I=int(i)
    for idx in range(0, 6):
        if I >arr[idx]:
            reward.append((I - arr[idx]) * rat[idx])    #将每个区间的奖金存放在奖金列表里
            I = arr[idx]
    reward.reverse()               #逆序奖金列表,目的为方便输出
    if(len(reward)) == 1:          #如果只有一个,直接输出
        print(reward[0])
    else:
        print(" + ".join([str(num) for num in reward]),"=",sum(reward))
        #输出每个区间的奖金并求和

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值