习题 5: 更多的变量和打印

简介: 一、 简述“格式化字符串(format string)” - 每一次你使用 ' ’ 或 " " 把一些文本引用起来,你就建立了一个字符串。 字符串是程序将信息展示给人的方式。二、 代码#!usr/bin/env python# -*- coding:utf-8 -*-# Author: xixihuang# Date : 2016/08/31 09:52 AM# Desc : 习题5:更多的变量与打印# 键入更多的变量并且将它们打印出来。

一、 简述

“格式化字符串(format string)” - 每一次你使用 ' ’ 或 " " 把一些文本引用起来,你就建立了一个字符串。 字符串是程序将信息展示给人的方式。

二、 代码

#!usr/bin/env python
# -*- coding:utf-8 -*-

#   Author:    xixihuang
#   Date :     2016/08/31 09:52 AM
#   Desc :     习题5:更多的变量与打印
#              键入更多的变量并且将它们打印出来。这次将使用一个叫“格式化字符串(format string)”的东西。
#              每一次使用“把一些文本引用起来,你就建立了一个字符串。字符串是程序将信息展示给人的方式。

#
#
#

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 # lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print "Let's talk about %s." % my_name
print "He's %d inches tall." % my_height
print "He's %d pounds heavy." % my_weight
print "Actually that's not too heavy."
print "He's got %s eyes and %s hair." % (my_eyes, my_hair)
print "His teeth are usually %s depending on the coffee." % my_teeth

# this line is tricky, try to get it exactly right
print "If I add %d, %d, and %d I get %d." % (
    my_age, my_height, my_weight, my_age + my_height + my_weight)

三、 输出结果

$ python ex5.py
Let's talk about Zed A. Shaw.
He's 74 inches tall.
He's 180 pounds heavy.
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teeth are usually White depending on the coffee.
If I add 35, 74, and 180 I get 289.
$$ python ex5.py
Let's talk about Zed A. Shaw.
He's 74 inches tall.
He's 180 pounds heavy.
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teeth are usually White depending on the coffee.
If I add 35, 74, and 180 I get 289.
$

四、 加分习题

1.修改所有的变量名字,把它们前面的my_去掉。确认将每一个地方的都改掉,不只是你使用=赋值过的地方。
全部替换快捷键: Ctrl + R

2.试着使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什么都打印出来”。

格式化字符 描述

%d 有符号整数(十进制) ;

%s 调用 str函数打印字符串,str函数返回原始字符串;

%r 调用 rper函数打印字符串,repr函数返回的字符串是加上了转义序列,是直接书写的字符串的形式;

3.在网上搜索所有的 Python 格式化字符。

字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。

语法如下:
format_string % string_to_convert
其中:format_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来

Python 字符串格式化符号:

格式 描述
%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。

负号指时数字应该是左对齐的,“0”告诉Python用前导0填充数字,正号指时数字总是显示它的正负(+,-)符号,即使数字是正数也不例外。

可指定最小的字段宽度,如:"%5d" % 2。也可用句点符指定附加的精度,如:"%.3d" % 3。

e.g.
# 例:数字格式化
nYear = 2018
nMonth = 8
nDay = 18
# 格式化日期 %02d数字转成两位整型缺位填0    
print '%04d-%02d-%02d'%(nYear,nMonth,nDay)  
>> 2018-08-18   # 输出结果

fValue = 8.123
print '%06.2f'%fValue   # 保留宽度为6的2位小数浮点型
>> 008.12   # 输出

print '%d'%10   # 输出十进制
>> 10
print '%o'%10   # 输出八进制
>> 12
print '%02x'%10 # 输出两位十六进制,字母小写空缺补零
>> 0a
print '%04X'%10 # 输出四位十六进制,字母大写空缺补零
>> 000A
print '%.2e'%1.2888 # 以科学计数法输出浮点型保留2位小数
>> 1.29e+00

格式化操作符辅助指令
符号 作用
(*)定义宽度或者小数点精度

-用做左对齐

+在正数前面显示加号( + )

在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

0 显示的数字前面填充‘0’而不是默认的空格

% '%%'输出一个单一的'%'

(var) 映射变量(字典参数)

m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

4. 试着使用变量将英寸和磅转换成厘米和千克。不要直接键入答案。使用 Python 的计算功能来完成。

使用 Python 的计算功能来完成。

1英寸(in)=2.54厘米(cm)

1磅(lbs)=0.45359237千克(kg)

my_height = 74 # inches
transfer_height = 2.54 * my_height # cm

my_weight = 180 # lbs
transfer_weight = 0.45359237 * my_weight # kg

print "He's %d innchess tall, %d cm." % (my_height, transfer_height)
print "He's %d pounds heavy, %d kg." % (my_weight, transfer_weight)
知识在于点滴积累
目录
相关文章
UE4 Animation Layers功能学习
UE4 Animation Layers功能学习
346 0
UE4 Animation Layers功能学习
|
运维 监控 数据库
如何实现软件SaaS化
如何实现软件SaaS化
|
Web App开发 前端开发 JavaScript
27 个前端动画库让你的交互更加炫酷
很多时候我们在开发前端页面时都会做一些动画效果来提升用户体验度和页面美观度,所以今天就来给大家推荐几个好用的JavaScript动画库,希望对各位小伙伴有所帮助!
2927 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
本文旨在帮助读者更深入地理解大模型和AI技术,重点介绍关键技术革新的背景与影响,特别是本次大模型时代和新一轮AI浪潮的推动因素与发展历程。
|
8月前
|
人工智能
与 AI 智能体来一场“春节互动”
快来报名创建AI智能体,进行实时视频互动,讨论春节习俗如吃饺子、放鞭炮等。访问活动页面,按步骤部署并上传截图,即可获得限量蛇年抱枕,先到先得!活动时间:即日起至2025年2月14日16:00。
576 3
|
10月前
|
缓存 前端开发 数据安全/隐私保护
Flutter 框架提供了丰富的机制和方法来优化键盘处理和输入框体验
在移动应用开发中,Flutter 框架提供了丰富的机制和方法来优化键盘处理和输入框体验。本文深入探讨了键盘的显示与隐藏、输入框的焦点管理、键盘类型的适配、输入框高度自适应、键盘遮挡问题处理及性能优化等关键技术,结合实例分析,旨在帮助开发者提升应用的用户体验。
440 6
|
11月前
|
SQL
SQL使用with构建临时表
SQL使用with构建临时表
395 8
|
11月前
|
存储 固态存储 定位技术
如何选择移动存储设备
【10月更文挑战第6天】选择移动存储设备需考虑多个因素,包括存储容量、读写速度、接口类型、设备类型及数据安全。容量应根据需求评估,留有余量;读写速度影响传输效率,USB 3.0 及以上接口更佳;设备类型有U盘、移动硬盘等,各具特色;数据加密和品牌质量保证则提升数据安全性。
292 0
|
安全 网络安全
【恶意代码系列】四、隔离、删除以及恢复
【恶意代码系列】四、隔离、删除以及恢复
|
SQL 安全 关系型数据库
精通MySQL:核心功能、性能优化与安全管理
h3> 第一章:MySQL入门 1.1 MySQL概述 介绍MySQL的历史、版本发展及其在当前数据库领域的重要地位