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

相关文章: