Python基础编程:数字组合与阶梯奖金计算实例
本文提供两个Python编程基础实例。首先演示如何利用三重循环生成由1、2、3、4组成的无重复数字三位数;其次通过数组与循环结合的方式,实现根据利润区间阶梯计算奖金总额的功能,适合初学者理解条件判断与逻辑运算。
实例一:
题目:给定四个数字1、2、3、4,请计算能够组成多少个互不相同且无重复数字的三位数,并列出所有可能的组合。
程序分析:百位、十位和个位上的数字均可从1、2、3、4中选取。我们需要生成所有可能的排列,然后剔除那些百位、十位或个位数字重复的情况,即确保百位不等于十位,且百位和十位均不等于个位。
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
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 #3.0+ 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,计算并输出应发放的奖金总数。
具备知识基础:数组遍历
程序分析:建议利用数组来划分利润区间(一个数组存储利润分界点,另一个数组存储对应的提成比例),通过定位和判断确定利润所属区间。例如,若利润为120000,通过数组定位可知其大于100000,此时奖金由两部分组成:
1、(120000-100000)*0.75 2、100000*0.1
实例(Python 2.0+)
# !/usr/bin/python
# -*- coding: UTF-8 -*-
i = int(raw_input('净利润:'))
arr = [1000000, 600000, 400000, 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
r = 0
for idx in range(0, 6):
if i > arr[idx]:
r += (i - arr[idx]) * rat[idx] #高于基数部分提成,例如利润120000,就是20000部分提成
print (i - arr[idx]) * rat[idx]
i = arr[idx]
print r
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









