Ethan's Blog

记录和思考

Python 的标准输入输出

最近开始刷题了,才发现自己基本语法和操作要么忘光了,要么好几个语言搞混了,希望借机会能好好熟悉一下 Python,以后这就是我的主力语言。

Python 的标准输入

import sys
for line in sys.stdin:
    print(line) # 获得的 line 是按行得到的字符串
    str_list = line.split() # 一般可以使用字符串的 split 函数来获得分割后的字符串列表
    str_list = line.strip().split() # 使用 strip 函数可以先把换行符什么的去掉
    int(str_list[0]) # 后续可以做类型转换进行使用

OJ 模式的题目 A+B 代码示例:

import sys
for line in sys.stdin:
    a = line.split()
    print(int(a[0]) + int(a[1]))

Python 的标准输出

Python 的输出一般使用 print 就可以。print 函数需要数以的是其 sep 和 end 参数,分别代表输出时候用什么分隔以及用什么结束。

print(arg, sep=' ', end='\n') # 空格分隔,换行结束

# 格式化输出
# 基本套路是 % 连接符号,然后定义要输出具体量
str = "the length of (%s) is %d" %('runoob',len('runoob'))
print(str) # the length of (runoob) is 6
print("%s%d" % ("age: ", 26)) # age: 26

Python 字符串格式化符号:

符号描述
%s格式化字符串
%c格式化字符及其 ASCII 码
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同 %e,用科学计数法格式化浮点数
%g%f 和 %e 的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号 ( + )
<sp>在正数前面显示空格
#在八进制数前面显示零 (‘0’),在十六进制前面显示 ‘0x’ 或者 ‘0X’ (取决于用的是 ‘x’ 还是 ‘X’)
0显示的数字前面填充 ‘0’ 而不是默认的空格
%‘%%’ 输出一个单一的 ‘%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度, n 是小数点后的位数(如果可用的话)

示例:

pi = 3.141592653
print('%10.3f' % pi) # 字段宽 10,精度 3
# 3.142

print("pi = %.*f" % (3,pi)) # 用 * 从后面的元组中读取字段宽度或精度
# pi = 3.142

print('%010.3f' % pi) # 用 0 填充空白
# 000003.142

print('%-10.3f' % pi) # 左对齐
# 3.142

print('%+f' % pi) # 显示正负号
# +3.141593

nHex = 0xFF
print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))
# nHex = ff,nDec = 255,nOct = 377

相关文章: