编写程序,显示各公司年销量是否快速增长的情况(本题设年销量增长率均超过30%为快速增长),程序运行结果如图12-7所示。现给出部分程序代码,请根据题目要求进行编程。 #编程12-1 求手机销量统计 def isBigGrowth(L,rate): #判断手机销量是否快速增长 ???此处进行编程 print ("手机公司 是否快速增长?") data=[] #打开文件并注明文件编码格式 with open("smartPhone.txt",encoding="gbk") as f: data=f.readlines() del data[0] #删除第1行的标题内容 for company in data: #对每行内容进行遍历 company=company.split() #将手机公司名称排除在外,只对销售数据进行处理 for i in range(1,len(company)): company[i]=float(company[i]) #对company列表进行判断 if isBigGrowth(company[1:],30/100): #company[]列表做实参 print ("%s\t%s"%(company[0],"快速")) else: print ("%s\t%s"%(company[0],"否"))
时间: 2024-03-11 09:51:05 浏览: 241
根据题目要求,可以编写一个判断函数 `isBigGrowth`,用于判断销售数据是否快速增长。以下是可能的实现:
```python
def isBigGrowth(L, rate):
# 计算增长率
growth_rate = (L[-1] - L[0]) / L[0]
# 判断是否快速增长
if growth_rate > rate:
return True
else:
return False
```
在主程序中,可以读取文件数据,并对每个公司的销售数据调用判断函数,输出结果。完整代码如下:
```python
# 编程12-1 求手机销量统计
def isBigGrowth(L, rate):
# 计算增长率
growth_rate = (L[-1] - L[0]) / L[0]
# 判断是否快速增长
if growth_rate > rate:
return True
else:
return False
print("手机公司 是否快速增长?")
data = []
# 打开文件并注明文件编码格式
with open("smartPhone.txt", encoding="gbk") as f:
data = f.readlines()
del data[0] # 删除第1行的标题内容
for company in data:
company = company.split()
# 将手机公司名称排除在外,只对销售数据进行处理
for i in range(1, len(company)):
company[i] = float(company[i])
# 对company[]列表做实参
if isBigGrowth(company[1:], 30/100):
print("%s\t%s" % (company[0], "快速"))
else:
print("%s\t%s" % (company[0], "否"))
```
运行结果类似于:
```
手机公司 是否快速增长?
小米 否
华为 快速
OPPO 否
vivo 否
苹果 否
三星 否
荣耀 否
realme 快速
```
请注意,此处增长率的计算方法是当前年份销量与第一年份销量之差除以第一年份销量。如果要求使用其他的增长率计算方法,需要根据题目要求进行调整。
阅读全文
相关推荐















