【小白笔记】f-string 格式化和 字符串/数字转换

部署运行你感兴趣的模型镜像
c="632622199907012570"
year=c[6:10]#是从0开始计数的,所以是6-10
birthdy_month=c[10:12]
birthdy_day=c[12:14]
print(f"出生日期是:{year}年{birthdy_month}月{birthdy_day}日")

要求:修改后1. 在数字前后有空格 2.是1月,而不是01月


这是一个关于 f-string 格式化字符串/数字转换的经典问题。不仅希望解决数字前后的空格问题,还提到了一个更重要的需求:去掉月份和日期数字前的零(Leading Zero),比如将 01月 显示为 1月

1. 解决月份和日期的前导零问题 (Removing Leading Zeros)

当您从身份证号字符串(c)中截取月份(birthdy_month)和日期(birthdy_day)时,它们是字符串类型,例如 '01''09'。要去除前导零,您需要将它们转换成整数(int,然后再用 f-string 打印出来。

示例:

原始字符串转换为整数 (int())f-string 输出
'01'111f"{1}"'1'
'24'242424f"{24}"'24'

2. 解决数字前后的空格问题 (Adding Spaces Around Numbers)

f-string 中,您只需要在花括号 {} 的外部添加空格即可。

修正后的代码 (Corrected Code)

这是结合了去除前导零和添加空格的完整代码:

# 假设 c 是您的身份证号字符串(示例)
c = "42010120020124123X"

year = c[6:10]
birthdy_month = c[10:12]
birthdy_day = c[12:14]

# 核心修正:
# 1. 使用 int() 将月份和日期从字符串转换为整数,自动去除前导零
# 2. 在 f-string 花括号的外部添加空格
print(f"出生日期是:{year}{int(birthdy_month)}{int(birthdy_day)} 日")

执行结果:

出生日期是:2002 年 1 月 24 日

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值