python 字符串格式化,输出print
字符串格式化代码:
格式 | 描述 |
---|---|
%% | 百分号标记 |
%c | 字符及其ASCII码 |
%s | 字符串 |
%d | 有符号整数(十进制) |
%u | 无符号整数(十进制) |
%o | 无符号整数(八进制) |
%x | 无符号整数(十六进制)a-f |
%X | 无符号整数(十六进制大写字符)A-F |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点数字(用小数点符号)默认精度为6位 |
%g | 浮点数字(根据值的大小采用%e或%f) |
%G | 浮点数字(类似于%g) |
%p | 指针(用十六进制打印值的内存地址) |
%n | 存储输出字符的数量放进参数 |
整数不包含精度问题
1.打印字符串 %s
print("My name is %s" %("Alfred.Xue")) #输出效果:
My name is Alfred.Xue
2.打印整数 %d
print("I am %d years old." %(25)) #输出效果:
I am 25 years old.
3.打印浮点数 %f
print ("His height is %f m"%(1.70))
#输出效果:
His height is 1.700000 m
4.打印浮点数(指定保留两位小数) %.2f
print ("His height is %.2f m"%(1.70))
#输出效果: His height is 1.70 m
5.指定占位符宽度 %8d %8.2f 多个占位符用括号
print ("Name:%10s Age:%8d Height:%8.2f"%("Alfred",25,1.70))
#输出效果: Name: Alfred Age: 25 Height: 1.70
6.指定占位符宽度(左对齐)默认右边对齐,负号代码左边对齐 %-10s %-8d %-8.2f
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Alfred",25,1.70))
#输出效果:
Name:Alfred Age:25 Height:1.70
7.指定占位符(只能用0当占位符?) %08d %08.2f
print ("Name:%-10s Age:%08d Height:%08.2f"%("Alfred",25,1.70))
#输出效果: Name:Alfred Age:00000025 Height:00001.70
8.科学计数法
format(0.0026,'.2e')
#输出效果: '2.60e-03'
练习字符串
1 #!usr/bin/python3 2 3 inputstr = input("请输入字符串") 4 ##!!!!str作为字符串名不建议使用,容易混淆str()函数 5 6 print("字符中存在%s个a" % inputstr.count('a')) 7 print("字符中存在%s个空格" % inputstr.count(' ')) 8 print("字符中第一个字符编码%s\n\n" % ord(inputstr[0])) 9 10 11 inputNum = input("请输入整数") 12 while not (inputNum.isdigit() and (int(inputNum)>=0 and int(inputNum)<=256)): 13 if not inputNum.isdigit(): 14 inputNum = input("输入的不是数字,请重新输入") 15 continue 16 if not (int(inputNum)>=0 and int(inputNum)<=256): 17 inputNum = input("输入的数字值太大,请重新输入") 18 19 print("%s对应的ascii的字符为%s" % (inputNum, chr(int(inputNum)))) 20 21 """ 22 if len(inputstr)==0: 23 print("没有输入数据!!!!") 24 quit() 25 26 if inputstr[::] == inputstr[::-1]: 27 print("是回文") 28 else: 29 print("不是回文") 30 """ 31 32 33 34 """ 35 print("第一个字符:" + inputstr[0]) 36 37 #print(inputstr[int(len(inputstr)/2)]) 38 #print(len(inputstr)%2) 39 40 if len(inputstr)%2 != 0: 41 print("中间第"+str(len(inputstr)//2+1)+"个字符为:"+inputstr[len(inputstr)//2]) 42 ##!!!!注意len()/2得到的值为float型 43 else: 44 print("没有中间字符") 45 46 print("最后一个字符:"+inputstr[-1]) 47 """
每一成功的背后都有个人的努力和家人的支持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器