这些都是我之前学习时练习过的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))
#输出每个区间的奖金并求和