文件smartphone.txt存放着某些公司手机年销量数据,每行为每家公司若干年销量(百万),数据间的分隔符为制表符。打开文件请注明文件编码格式:with open("smartPhone.txt",encoding="gbk") as f:编写函数isBigGrowth(L,rate),形参L为一组含有数值型数据的列表(某公司各年份的销量),rate为年增长率,判断并返回是否年销量快速增长:若每年销量增长率都超过给定的rate,则为True,否则为False。主程序读取smartphone.txt内的数据,将每行数据中的年销量转为数值型数据,利用函数isBigGrowth(L,rate)计算并屏幕输出各公司年销量是否快速增长的情况(本题设年销量增长率均超过30%为快速增长),各数据间以制表符相隔。程序运行结果如下:
手机公司 是否快速增长?
Samsung 否
Apple 否
Huawei 否
OPPO 快速
Vivo 快速
ZTE 否
LG 否
Lenovo 否
Xiaomi 否
smartphone.txt内容如下:
公司
Samsung 311 322.9 310.3 318.7
Apple 192.9 231.6 215.2 15.8
Huawei 73.6 104.8 139.1 153.1
OPPO 29.9 50.1 92.9 121.1
Vivo 19.5 40.5 74.3 100.7
ZTE 43.8 56.2 60.1 44.9
LG 59.2 59.7 55.1 55.9
Lenovo 70.1 74.1 50.7 49.7
Xiaomi 61.1 70.7 61.5 96.1
def isBigGrowth(L,rate):for i in range(1,len(L)):if i==len(L)-1:if L[i]>rate*L[i-1]:return '快速'else:return '否'else:if L[i]>rate*L[i-1]:continueelse:return '否'with open("smartPhone.txt",encoding="gbk") as f:print("手机公司\t是否快速增长?")s = [i[:-1].split("\t") for i in f.readlines()]for i in range(1,len(s)):L = []for j in range(1,len(s[i])):L.append(float(s[i][j]))print('{}\t{}'.format(s[i][0],isBigGrowth(L,1.3)))
如果觉得《【Python】计算手机销量年增长率》对你有帮助,请点赞、收藏,并留下你的观点哦!