Python格式化输出

格式化输出

示例,现在有一需求,问用户的姓名,年龄,工作,爱好,然后将其打印成以下格式。

---------- info of Mark ----------
Name  : Mark
Age   : 22
Job   : Ops
Hobby : PingPong
---------- end ----------

实现方法如下,虽然字符串拼接的方式可以实现这种格式的输出,但是很麻烦,所以可以使用下面简单的方法——解锁新姿势~

只需要把需要打印的格式先准备好,由于里面的一些信息是需要用户输入的,没有办法预先知道,因此可以先放置一个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦。如下操作:

注: 看的时候有点懵😵,操作一遍就明白啦,如同任督二脉被打通一样 hhh

name = input("Name: ")
age = input("Age: ")
job = input("Job: ")
hobby = input("Hobby: ")

# 下面的每一个%s就是字符串里的一个占位符
info = '''
---------- info of %s ----------
Name  : %s
Age   : %s
Job   : %s
Hobby : %s
---------- end ----------
''' % (name, name, age, job, hobby)  # 这行的%就是把前面的字符串(%s)和括号里面的变量关联起来。
# 变量与字符串是逐行关联的,比如info of %s,关联的就是括号里的第一个变量name。Hobby  : %s,关联的就是最后一个变量hobby。
#%s是在字符串里的占位符,和字符串外%号后面括号里跟的数据是一一对应的。

print(info)

# 输出结果如下
Name: Mark
Age: 22
Job: Ops
Hobby: PingPong

# 看,和要求的一摸一样啦
---------- info of Mark ----------
Name  : Mark
Age   : 22
Job   : Ops
Hobby : PingPong
---------- end ----------


Process finished with exit code 0

占位符

  1. %s 是代表的字符串占位符 # s = string,字符串
  2. %d 是代表的数字占位符 # d = digit,数字
  3. %f 是代表的浮点数占位符 # f = float,浮点数

转换数据类型

str转int类型

如果把上边的age后面的%s换成%d,就代表你必须只能输入数字啦,但是不能直接换掉,因为input接收的所有输入默认都是字符串格式!

直接换掉,没有做其它更改的就会报如下错误啦。

Traceback (most recent call last):
  File "C:/Users/tgw/PycharmProjects/pythonProject/day1/格式化输出.py", line 14, in <module>
    ''' % (name, name, age, job, hobby)
TypeError: %d format: a number is required, not str

Process finished with exit code 1

上面其它的更改指的就是下面的操作啦——将age变量从字符串str类型转换成数字int类型。

age = int(input("Age: "))
print(type(age))  # 可以通过type查看age的类型
<class 'int'>  # 看,转变成int类型了

相反,把数字转换成字符串也是必然可以的啦,str(yourStr)

int转str示例1

age = 22
print(age)
print(type(age))
print(str(age))
print(type(str(age)))

# 输出结果
22
<class 'int'>
22
<class 'str'>  # 转变啦

Process finished with exit code 0

int转str示例2

age = 22
print(age)
print(type(age))
age = str(age)
print(age)
print(type(age))
# 输出结果
22
<class 'int'>
22
<class 'str'>  # 转变啦

Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江上月༻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值