2.1.3 数据类型:模拟市场结账抹零行为
变量除了由变量名和变量值组成,变量还有类型,变量类型就是变量值的类型。
和C、Java语言不同,Python变量使用前无须定义数据类型,这一性质称为动态数据类型。
1.查看数据类型
查看数据类型函数type(),如:
type(3)返回int;
type(3.0)返回float;
2.1 数据类型及其转换
type(3+0j)返回complex;
type([3])返回list;
type(True)返回bool。
2.数据类型转换
1)布尔型转换:bool(4.2)、bool("")、bool("0")返回True,bool(0)、bool("")返回False。
2)整型数转换:int(True)返回1,int(False)返回0,int(3.6)返回3,int('123')返回123。
3)浮点数转换:float(3)返回3.0,float('3.14')返回3.14。
4)字符串型转换:str(456)返回‘456’。
3.快速体验
2.2 案例::模拟市场结账抹零行为
【案例2.1】 编写程序,模拟市场结账抹零行为。
【问题分析】
在市场买东西,经常会在结算时,总价可能带有0.1元或0.35元的零头,摊主会将这些零头抹去。基本思路就是把浮点数转换为整数,关键技术是数据类型转换。
假设张三一次购买了2斤鸡蛋(单价5.8元)、2.5斤黄瓜(单价3.2元)、苹果5斤(单价4.7元),输出抹零后的总价。
【参考代码】
【运行结果】
【程序说明】
1)第3、6行说明参考案例1.1程序说明。
2)第1行是赋值语句,“=”为赋值运算符,2*5.8+2.5*3.2+5*4.7为算术表达式,将计算结果保存到变量total_money中。
3)第2行是赋值语句,赋值号左侧str(total_money)完成把数字类型值转换为字符串类型,结果保存到变量total_money_str中。第5行说明同理。
4)第4行是赋值语句,赋值号左侧int(total_money)完成把字符串类型值转换为整数类型,结果保存到变量pay_money中。