python编程300例_经典编程100例——python版(例3例5)

例子3:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

求解分析:

分成6段来求解。多分支结构程序的典型。

p10~100.1
p210~200.075
p320~400.05
p440~600.03
p560~1000.015
p6100~0.01
i0~1010~2020~4040~6060~100>100
b00
b1(i-0)*p11=(20-10)*0.11=(20-10)*0.11=(20-10)*0.11=(20-10)*0.11=(20-10)*0.1
b2(i-10)*p20.75=(20-10)*0.0750.75=(20-10)*0.0750.75=(20-10)*0.0750.75=(20-10)*0.075
b3(i-20)*p31=(40-20)*0.051=(40-20)*0.051=(40-20)*0.05
b4(i-40)*p41.2=(60-40)*0.031.2=(60-40)*0.03
b5(i-60)*p50.9=(100-60)*0.015
(i-100)*p6

代码如下:

be040eefa0daa528ea12194d315a4738.png

测试结果:

99eeeb00b88a73e5595c22252025f577.png

提问,如果企业出现亏损怎么处理?try/except语句,要了解一下。

——————————————————————————————————

例子4:输入某年某月某日,判断这一天是这一年的第几天?

求解分析:考虑特别年份,闰年2月份有29天。

list1=[31,29,31,30,31,30,31,31,30,31,30,31]#闰年

list2=[31,28,31,30,31,30,31,31,30,31,30,31]#平年

平年和闰年的判断方法:

一、普通年被4整除且不能被100整除的为闰年。否则为平年。(如2004年就是闰年,1900年不是闰年)

二、世纪年能被400整除的是闰年。否则为平年。(如2000年是闰年,1900年不是闰年)

bce4e8249df159edf2a94922ad6b3de5.png

代码如下:

52288518b8a47c2cf981f5c193252787.png

运行测试:

fb081034f4a47ba8cdc1ae21a85c3bba.png

用try/except测试了好久,发现对日期格式判断不好,只好采用笨办法,一个一个来判断。

可能还会有不足,等以后有时间,对于日期的判断专门开贴探索一下。

——————————————————————————————————

例子5:输入三个整数x,y,z,请把这三个数由小到大输出。

方法1,采用比较大小的办法,如果x>y,则值进行交换,同理比较。

代码如下:

f5599f8e8862986129ed07a72c2cfc9f.png

方法2,采用list.sort()排序

代码如下:

2c39a936bcf4b307b4c656dd8f15ac6c.png

运行测试:

712c599d4dc53775e1fb370a0c126269.png

跟学生讲的话,我推荐方法1,这是一个思维的过程,用图示法也容易讲,学生也容易懂。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值