python的字符串格式化序列示例和字典示例
2017-10-19 12:39
302 查看
字符串格式化序列的代码将使用星号字段宽度说明符来格式化一张包含水果价格的表格,表格的总宽度由用户输入。因为是由用户提供信息,所以就不能在转换说明符中将字段宽度硬编码。使用星号运算符就可以从转换元组中读出字段宽度。
下面是程序运行示例:
Please enter width:35
===================================
Item Price
___________________________________
Apples 0.40
Pears 0.50
Cantaloupes 1.92
Dried Apricots(16 oz.) 8.00
Prunes (4 lbs.) 12.00
===================================
字典示例
下面是程序运行的示例:
Name:Beth
Phone number (p) or address (a)?p
Beth's phone number is 9102.
下面是代码清单演示了上面程序的修订版本,它使用get方法访问“数据库”实体。
下面是程序执行的例子。注意get方法带来的灵活性如何使得程序在用户输入我们并未准备的值时也能做出合理的反应。
Name:Cecil
Phone number (p) or address (a)?batting average
Cecil's batting average is not available.
#使用给定的宽度打印格式化后的价格列表 width=input('Please enter width:') price_width=10 item_width=width-price_width header_format='%-*s%*s' format ='%-*s%*.2f' print '='*width print header_format % (item_width,'Item',price_width,'Price') print '_'*width print format %(item_width,'Apples',price_width,0.4) print format %(item_width,'Pears',price_width,0.5) print format %(item_width,'Cantaloupes',price_width,1.92) print format %(item_width,'Dried Apricots(16 oz.)',price_width,8) print format %(item_width,'Prunes (4 lbs.)',price_width,12) print '='*width
下面是程序运行示例:
Please enter width:35
===================================
Item Price
___________________________________
Apples 0.40
Pears 0.50
Cantaloupes 1.92
Dried Apricots(16 oz.) 8.00
Prunes (4 lbs.) 12.00
===================================
字典示例
#简单数据库 #使用人名作为键的字典。每个人用另一个字典来表示,其键'phone'和'addr'分别表示他们的电话号码和地址 people={ 'Alice':{ 'phone':'2341', 'addr':'Foo drive 23' }, 'Beth':{ 'phone':'9102', 'addr':'Bar street 42' }, 'Cecil':{ 'phone':'3158', 'addr':'Baz avenue 90' } } #针对电话号码和地址使用的描述性标签,会在打印输出的时候用到 labels={ 'phone': 'phone number', 'addr': 'address' } name = raw_input('Name:') #查找电话号码还是地址?使用正确的键: request = raw_input('Phone number (p) or address (a)?') #使用正确的键: if request =='p': key='phone' if request =='a': key='addr' #如果名字是字典中的有效键才打印信息: if name in people: print "%s's %s is %s."%\ (name, labels[key], people[name][key])
下面是程序运行的示例:
Name:Beth
Phone number (p) or address (a)?p
Beth's phone number is 9102.
下面是代码清单演示了上面程序的修订版本,它使用get方法访问“数据库”实体。
#使用get()的简单数据库 #这里添加代码清单4-1中插入数据库的代码 people={ 'Alice':{ 'phone':'2341', 'addr':'Foo drive 23' }, 'Beth':{ 'phone':'9102', 'addr':'Bar street 42' }, 'Cecil':{ 'phone':'3158', 'addr':'Baz avenue 90' } } labels={ 'phone':'phone number', 'addr':'address' } name=raw_input('Name:') #查找电话号码还是地址? request=raw_input('Phone number (p) or address (a)?') #使用正确的键: key=request #如果请求既不是'p'也不是'a' if request =='p': key='phone' if request =='a': key='addr' #使用get()提供默认值: person= people.get(name, {}) label=labels.get(key, key) result=person.get(key,'not available') print "%s's %s is %s." % (name, label, result)
下面是程序执行的例子。注意get方法带来的灵活性如何使得程序在用户输入我们并未准备的值时也能做出合理的反应。
Name:Cecil
Phone number (p) or address (a)?batting average
Cecil's batting average is not available.
相关文章推荐
- python-序列(字符串)乘法示例
- python学习之路二(字符串,字典,序列和元组)
- python笔记4 - 索引,切片,字符编码转换函数,字符串的属性方法,字符串格式化表达式,占位符,基于字典的字符串格式化,循环语句
- python学习之路二(字符串,字典,序列和元组)
- python的列表,元组,字典,序列,字符串的简单解说
- python中用字典格式化字符串
- devi into python 笔记(七)locals与globals 字典格式化字符串 字符集
- python整理三——用字典格式化字符串
- Python零基础入门之五字符串的格式化以及序列的内置函数
- python 中的字符串转义序列、字符串格式化、操作符、关键字总结
- python 堆、队列操作、字符串格式化输出、字符串常用函数 示例代码
- Dive Into Python 学习记录1-函数/模块导入/字典/列表/元组/字符串分割、连接、格式化/映射list/
- Python基础教程代码与注释P55 4.1 字典的使用 4.2.1 dict函数 4.2.3 字典的格式化字符串 4.2.3 字典的格式化字符串
- python学习(字典使用字符串格式化)
- 简单总结Python中序列与字典的相同和不同之处
- cookies提取——从字符串到字典(一行Python代码)
- Python字符串与字典的操作
- python基础(序列,元祖,列表,字典,对象,类)
- Python中字符串格式化符号
- Python:字符串格式化