python语言 输入—输出—格式化

目录

知识点一:分隔线

知识点二:input 输入

知识点三:print 输出

知识点四:格式化打印

    1.占位符式的格式化打印(类似于C语言中的打印)    

    2.新的格式化打印

作业


知识点一:分隔线

分隔线:
        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

'''

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱玩网络的小石

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

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

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

打赏作者

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

抵扣说明:

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

余额充值