知乎上遇到这样一个题目:对于新垣结衣 2020 年收入 4.4 亿日元大家怎么看?

然后想着写程序输出在中国的价位,然后就会一目了然了。

1 日元和爽和人民币的换算过程

最开始的版本是这样的,连变量都不用插入:

# 1日元 ≈ 0.0591人民币
# 1人民币=16.9322日元
moneyJapan = 440000000
moneyChina =moneyJapan/16.9322
moneyShuang = moneyChina/2080000
money30Shuang = moneyShuang/30
money365Shuang = money30Shuang/12print('4.4亿日元等于X元人民币,X=:',moneyChina)print('4.4亿日元等于X爽, X=:',moneyShuang)print('4.4亿日元等于X月爽, X=:',money30Shuang)print('4.4亿日元等于X年爽, X=:',money365Shuang)

2 X的位置之争

但是观众老爷不满意,说如果能够把数值写在X处就好了。然后就需要在输出中插入变量。修改后的程序如下

# 1日元 ≈ 0.0591人民币
# 1人民币=16.9322日元
moneyJapan = 440000000
moneyChina =moneyJapan/16.9322
moneyShuang = moneyChina/2080000
money30Shuang = moneyShuang/30
money365Shuang = money30Shuang/12print("4.4亿日元=%s(RMB)" % moneyChina)print("4.4亿日元=%s(日爽)" % moneyShuang)print("4.4亿日元=%s(月爽)" % money30Shuang)print("4.4亿日元=%s(年爽)" % (money365Shuang))

这样结果就满足观众老爷们的要求了。输出处不用X代替就可以了。

3 print你累不累

但是观众老爷又说难道print不嫌累吗,于是决定减少print的次数,改4个print为1个print重写为:

于是写出了这样的程序:

# 1日元 ≈ 0.0591人民币
# 1人民币=16.9322日元
moneyJapan = 440000000
moneyChina =moneyJapan/16.9322
moneyShuang = moneyChina/2080000
money30Shuang = moneyShuang/30
money365Shuang = money30Shuang/12
print("4.4亿日元等于%s(RMB),%s(日爽),%s(月爽),%s(年爽)" % (moneyChina, moneyShuang, money30Shuang, money365Shuang))

结果也显得简单多了:

4 因为代码太长不简洁不美怎么办

既然已经改成这样了,但是我总感觉不够简洁,变量的名字太长了,不好,改为这样:

# 1日元 ≈ 0.0591人民币
# 1人民币=16.9322日元
JP = 440000000
RMB =JP/16.9322
RS = RMB/2080000
YS = RS/30
NS = YS/12
print("4.4亿日元等于%s(RMB),%s(日爽),%s(月爽),%s(年爽)" % (RMB, RS, YS, NS))
#RMB, RS, YS, NS分别为人民币,日爽,月爽, 年爽

一般情况下,使用%d和%s比较多。

而本题目中使用的数字是小数,如果使用的是整数,直接月爽和年爽都变成0了。

另外,我在文章:《如何批量给文件加位数相同且统一的序号——文件的批量命名》中也写到了格式化输出的程序。了解详细内容,可戳下面链接。

https://blog.csdn.net/a1456123a/article/details/116981534

5 关于格式化输出的一些说明:

(1). %字符:标记转换说明符的开始

(2). 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充

(3). 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

(4). 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出

(5).字符串格式化转换类型

转换类型          含义

d,i                 带符号的十进制整数
o                   不带符号的八进制
u                   不带符号的十进制
x                    不带符号的十六进制(小写)
X                   不带符号的十六进制(大写)
e                   科学计数法表示的浮点数(小写)
E                   科学计数法表示的浮点数(大写)
f,F                 十进制浮点数
g                   如果指数大于-4或者小于精度值则和e相同,其他情况和f相同
G                  如果指数大于-4或者小于精度值则和E相同,其他情况和F相同
C                  单字符(接受整数或者单字符字符串)
r                    字符串(使用repr转换任意python对象)
s                   字符串(使用str转换任意python对象)
————————————————
版权声明:本文为CSDN博主「猪笨是念来过倒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liao392781/article/details/80579004/

python print如何在输出中插入变量相关推荐

  1. 《Python Cookbook 3rd》笔记(2.15):字符串中插入变量

    字符串中插入变量 问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉. 解法 Python 并没有对在字符串中简单替换变量值提供直接的支持.但是通过使用字符串的 format() 方 ...

  2. Python·.·.print()函数格式化输出-超详解

    Python·.·.print()函数格式化输出 print()函数格式为: print(objects, sep=' ', end='\n', file=sys.stdout) 文章目录 Pytho ...

  3. latex附录中放python代码_在Latex中插入Python代码

    这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...

  4. python特殊方法大全_python中星号变量的几种特殊用法

    在Python中星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解,本文将详细介绍"星号参数" ...

  5. Python学习笔记 Python概述 编码规范 输出与输入 变量 标识符

    Python学习第一天 Python的概述 1.Python的优缺点 1.1 优点: 1.2 缺点: 2.Python的编码规范 3.注释 3.Python的输出与输入 4.Python中的变量 5. ...

  6. Python之向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...

  7. C++ 开发中如何利用sql语句(insert语句)向数据库中插入变量

    **问题描述:**在C/S开发过程中,当客户端向服务端发送接口(结构体)信息时,服务端需要将接收到的信息存入数据库,但是,常规insert语句只能存确定的值到数据,当客户端传入的值不确定,且为了保证代 ...

  8. HTML往herf超链接中插入变量

    如何在<a herf=超链接中添加变量呢? 直接输入变量名或者给变量打上引号,都无济于事,超链接的路径根本不是变量所存的值! 困惑了一上午,在csdn上面有各种答案,什么编写script脚本实现 ...

  9. python print不换行输出_python中print如何不换行输出

    让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只要指 ...

  10. python print 如何加锁_python中给程序加锁之fcntl模块的使用

    python 中给文件加锁--fcntl模块 import fcntl 打开一个文件 f = open('./test') ##当前目录下test文件要先存在,如果不存在会报错. 对该文件加密: fc ...

最新文章

  1. 第一阶段_第二部分_功能介绍
  2. 【Linux系统编程】进程间通信--共享内存
  3. P2082 区间覆盖(加强版)
  4. 作者:宋长青,山东农业大学教授,农业大数据研究中心常务副主任。
  5. 美团暑期日常实习前端面试
  6. 阿里巴巴公布了一份最新的AI成绩单
  7. JUnit的优点在于什么地方?和main方法有什么不同?
  8. shell脚本学习指南_Shell脚本初学者指南:基础知识
  9. android 反编译 签名,Android反编译及重签名命令
  10. 手写linux系统,在Linux操作系统中使用手写板
  11. 基于rietveld搭建CodeReview平台
  12. 会议摘要怎么写?这篇论文手把手教你
  13. 上海率先开放政府数据 医院床位车位信息均可查
  14. html如何调用flash插件,htmlflash播放器插件如何播放 网页播放器flash插件怎么解决...
  15. NEO主要技术社区成员大曝光
  16. 易捷行云EasyStack携手北联国芯,共筑鲲鹏生态
  17. Mouse_event()
  18. [WHS] Windows Home Server 官方中文站点上线
  19. 云计算的优点,主要包含哪几个方面?
  20. 2022危险化学品经营单位安全管理人员考试题库模拟考试平台操作

热门文章

  1. 程序员数学(4)--几何图形初步
  2. 海丽宾雅水疗服务App技术支持
  3. 操作系统——并发之锁
  4. 触动人心的手机端页面设计
  5. JavaScript-射击比赛成绩单编程
  6. 【华为机试真题详解】统计射击比赛成绩
  7. 数据库 -- 基础操作(二)
  8. 微信小程序获取用户信息,返回nickName是微信用户,返回了匿名的头像名称原因。
  9. abap --MOVE-CORRESPONDING
  10. Amazon,我们完全不能接受 — 因此我们必须变更 Elastic 许可协议