python 字符串格式化,输出print

时间:2021-10-25 18:32:41

字符串格式化代码:

格式 描述
%% 百分号标记
%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 """