目录
知识点一:分隔线
分隔线:
print(组成分隔线符号数量 * “组成分隔线的符号” ,“想要添加的文字”,组成分隔线符号数量 * “组成分隔线的符号”)
"""print(40 * "%","你好!世界!",30 * "_")
运算结果:
''' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 你好!世界! ______________________________ '''
知识点二:input 输入
input 输入:从键盘里输入,
结束:用Enter来代表输入结束
类型:字符串
使用:用变量来接收所输入的值,当我们在输入时,其他程序不能打断我们的输入。
input(prompt) builtings
输入 (提示符) 内置
若没有提示符则使用者将不知道应该输入和值
'''
例:打印输入hello word,输出结果
拥有提示符时显示为
print(input("请输入hello word"))
运算结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py 请输入hello word: '''
没有提示符时显示
print(input())
运算结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py '''
input具体解释:
Read a string from standard input. The trailing newline is stripped.
从标准输入读取字符串,拖尾换行将被删除
'''
"""
知识点三:print 输出
print (内建函数) 输出
print(self, *args, sep=' ', end = '\n', file=None)
打印(自身,*参数,序列=' ',结尾 = '\n',文件 = 无)
self: 自身
*args (*arguments): 参数,多个参数(*代表多个)
print写多个参数,多个参数用,来分隔,逗号右边加空格
sep=' ': separator: 分隔符: 空格分隔
end='\n': \n换行,end:结束,结束换行 扩展:\t 制表符
file=None: 文件=None,没有文件
注:若在print()中,命令sep=' '与命令end='\n'需要同时进行设置则俩命令无先后顺序
如:print("hello word", end='\t', sep='___')命令
与print("hello word", sep='___', end='\t')命令,执行获得结果相同
\t 制表符
"""例:
print(1, 1.1, "hellow word", 6 + 6j, True) print(40 * "——") print(1, 2.2, "hello word", 8 + 8j, False, sep='@@') print(40 * "——") print(3,3.3,"hello word", 9 + 9j, True, end='\t') print(1, 2.2, "hello word", 8 + 8j, False, sep='@@') print(40 * "——") print(3,3.3,"hello word", 9 + 9j, True, end='\t', sep='___') print(1, 2.2, "hello word", 8 + 8j, False, sep='@@') print(40 * "——") print(1, 2, 3, 4, end='\t') print(1, 2,3,4,) print(1,2,3, end='\t') print(1,2,3,4,)
'''
运算结果:''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py 1 1.1 hellow word (6+6j) True ———————————————————————————————————————————————————————————————————————————————— 1@@2.2@@hello word@@(8+8j)@@False ———————————————————————————————————————————————————————————————————————————————— 3 3.3 hello word (9+9j) True 1@@2.2@@hello word@@(8+8j)@@False ———————————————————————————————————————————————————————————————————————————————— 3___3.3___hello word___(9+9j)___True 1@@2.2@@hello word@@(8+8j)@@False ———————————————————————————————————————————————————————————————————————————————— 1 2 3 4 1 2 3 4 1 2 3 1 2 3 4 Process finished with exit code 0 '''
'''
"""
知识点四:格式化打印
1.占位符式的格式化打印(类似于C语言中的打印)
%c : 格式化字符及其ASCII码
%s : 格式化字符串
%d : 格式化整数
%u : 格式化无符号整型
%o : 格式化无符号八进制数
%x : 格式化无符号十六进制数
%X : 格式化无符号十六进制数(大写)
%f : 格式化浮点数字,可指定小数点后的精度
%e : 用科学计数法格式化浮点数
%E : 作用同%e,用科学计数法格式化浮点数
%g : %f和%e的简写
%G : %f和%E的简写
%p : 用十六进制数格式化变量的地址
辅助指令:
* :定义宽度或者小数点精度
- :用做左对齐
+ :c在正数前面显示加号( + )
<sp> :在正数前面显示空格
# :在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 :显示的数字前面填充'0'而不是默认的空格
% :"%%输出一个单一的'%'
(var) :映射变量(字典参数)
m.n. :m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)"""
#打印 字符串, 20, 6.666666对齐方式随意 print("hello word", 20, 6.666666) #要求字符串占15个字符 # 20占四个字符宽度 #6.666666精确到小数点后三位宽度为12 print("%s, %d, %f" % ("hello word", 20, 6.666666)) print("%15s, %4d, %12.3f" % ("hello word", 20, 6.666666)) print("%15s, %4d, %12.3f" % ("love you", 666, 6.6666)) #左对齐 print("%-s, %-d, %-f" % ("hello word", 20, 6.666666)) print("%-15s, %-4d, %-12.3f" % ("hello word", 20, 6.666666)) print("%-15s, %-4d, %-12.3f" % ("love you", 666, 6.6666))
''' 运算结果: D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py hello word 20 6.666666 hello word, 20, 6.666666 hello word, 20, 6.667 love you, 666, 6.667 hello word, 20, 6.666666 hello word , 20 , 6.667 love you , 666 , 6.667 Process finished with exit code 0 '''
"""
例:为每一列设置一个宽度20字符,以及一个对齐方式
Date Time Type Desc
2022/08/01 10:43 <DIR> Documents
2023/03/30 11:05 <DIR> Downloads
2021/04/20 02:34 <DIR> Favorites
"""print("%20s,%20s,%20s,%20s" % ("Date", "Time", "Type", "Desc")) print("%20s%20s%20s%20s" % ("2022/08/01", "10:43", "<DIR>", "Documents")) print("%20s%20s%20s%20s" % ("2023/03/30", "11:05", "<DIR>", "Downloads")) print("%20s%20s%20s%20s" % ("2021/04/20", '02:34', '<DIR>', 'Favorites')) print(80 * "~") print("%-20s%-20s%-20s%-20s" % ("Date", "Time", "Type", "Desc")) print("%-20s%-20s%-20s%-20s" % ("2022/08/01", "10:43", "<DIR>", "Documents")) print("%-20s%-20s%-20s%-20s" % ("2023/03/30", "11:05", "<DIR> ", "Downloads")) print("%-20s%-20s%-20s%-20s" % ("2021/04/20", '02:34', '<DIR>', 'Favorites'))
运算结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py Date, Time, Type, Desc 2022/08/01 10:43 <DIR> Documents 2023/03/30 11:05 <DIR> Downloads 2021/04/20 02:34 <DIR> Favorites ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Date Time Type Desc 2022/08/01 10:43 <DIR> Documents 2023/03/30 11:05 <DIR> Downloads 2021/04/20 02:34 <DIR> Favorites Process finished with exit code 0 '''
总结:
符号之间是否加","及"%20s,%20s,%20s,%20s" 与 "%20s%20s%20s%20s"的区别:
在程序运行时并无任何差异,但结果会存在差异
当输入符号有","时,及"%20s,%20s,%20s,%20s"运算结果为
Date, Time, Type, Desc
当输入符号无","时,及"%-20s%-20s%-20s%-20s"运算见过为
Date Time Type Desc
及","会使结果所占字符数产生不同
"""
2.新的格式化打印
f/F : (format) 格式化
f:
宽度:{"hello word":20}
对齐方式:
左对齐:<
右对齐:>
居住对齐:^
填充符:默认使用空格来填充,也可指定其他字符
打印hello word所占字符数为20,打印100所占字符数为10及
print(f"{'hello word':20}{100:10}")"""
#用新格式化打印 hello word, 20, 6.666666对齐方式随意 print(f"{'hello word':15}{20:4}{6.666666:12}") #要求hello word占15个字符, # 20占4个字符宽度, #6.666666精确到小数点后三位宽度为12 右对齐 print(f"{'hello word':>15}{20:>4}{6.666666:>12.3}") #左对齐 print(f"{'hello word':<15}{20:<4}{6.666666:<12.2}") #居中对齐 print(f"{'hello word':^15}{20:^4}{6.666666:^12.4}")
运算结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py hello word 20 6.67 hello word 20 6.7 hello word 20 6.667 Process finished with exit code 0 '''
"""
用新格式化打印要求:
第一行title居中对齐,使用填充符*
第二行向左对齐
第三行向右对齐
第四行居中对齐
字符串之间需要有“|”隔开
Date Time Type Desc
2022/08/01 10:43 <DIR> Documents
2023/03/30 11:05 <DIR> Downloads
2023/03/30 02:34 <DIR> Favorites"""
print("|"f"{'Date':*^20}|{'Time':*^20}|{'Type':*^20}|{'Desc':*^20}""|") print("|"f"{'2022/08/01':<20}|{'10:43':<20}|{'<DIR>':<20}|{'Documents':<20}""|") print("|"f"{'2023/03/30':>20}|{'11:05':>20}|{'<DIR>':>20}|{'Downloads':>20}""|") print("|"f"{'2023/03/30':^20}|{'02:34':^20}|{'<DIR>':^20}|{'Favorites':^20}""|")
运算结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py |********Date********|********Time********|********Type********|********Desc********| |2022/08/01 |10:43 |<DIR> |Documents | | 2023/03/30| 11:05| <DIR>| Downloads| | 2023/03/30 | 02:34 | <DIR> | Favorites | Process finished with exit code 0 '''
"""
作业
利用输入和输出实现:
输入:
请输入姓名
请输入年龄
请输入成绩
请输入姓名
请输入年龄
请输入成绩
请输入姓名
请输入年龄
请输入成绩
格式输出输入的内容:
例如:
姓名 年龄 成绩
张三 20 98
李四 22 96
王五 18 90
"""a = input("请输入姓名:") b = input("请输入年龄:") c = input("请输入成绩:") d = input("请输入姓名:") e = input("请输入年龄:") f = input("请输入成绩:") g = input("请输入姓名:") h = input("请输入年龄:") i = input("请输入成绩:") print(32 * "——") print("|"f"{a:^20}|{b:^20}|{c:^20}|") print(32 * "——") print("|"f"{d:^20}|{e:^20}|{f:^20}|") print(32 * "——") print("|"f"{g:^20}|{h:^20}|{i:^20}|") print(32 * "——")
运行结果:
''' D:\AXXZX\Python\python\python.exe D:\python_code\20230404\input.py 请输入姓名:张三 请输入年龄:20 请输入成绩:98 请输入姓名:李四 请输入年龄:22 请输入成绩:96 请输入姓名:王五 请输入年龄:18 请输入成绩:90 ———————————————————————————————————————————————————————————————— | 张三 | 20 | 98 | ———————————————————————————————————————————————————————————————— | 李四 | 22 | 96 | ———————————————————————————————————————————————————————————————— | 王五 | 18 | 90 | ———————————————————————————————————————————————————————————————— Process finished with exit code 0 '''