python 输入输出
2022-04-05 16:38 jym蒟蒻 阅读(73) 评论(0) 编辑 收藏 举报获取用户输入:
Python split()方法:
#Python split()方法:
"""
描述
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。
"""
#_____例子__________
string = "ww.o.com.cn"
#1.以'.'为分隔符
print(string.split('.'))
['ww', 'o', 'com', 'cn']
#2.分割两次
print(string.split('.',2))
['ww', 'o', 'com.cn']
#3.分割两次,并取序列为1的项
print(string.split('.',2)[1])
o
#4.分割两次,并把分割后的三个部分保存到三个文件
u1, u2, u3 =string.split('.',2)
print(u1)—— www
print(u2)—— gziscas
print(u3) ——com.cn
#input().split():
#input() 接收多个用户输入需要与split()结合使用
host, port, username, passwd, dbname = input("请输入服务器地址,端口号,用户名,密码及数据库名,空格隔开:").split()
# 注意input()的返回类型是str,如果是整数需要转化为int才可正常使用
print(host,port,username,passwd,dbname)
输出结果:
请输入服务器地址,端口号,用户名,密码及数据库名,空格隔开:10.1.1.71 22 root 123456 db_name
10.1.1.71 22 root 123456 db_name
Python map() 函数
'''
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法
map() 函数语法:
map(function, iterable, ...)
参数
function -- 函数
iterable -- 一个或多个序列
返回值
Python 3.x 返回迭代器。
'''
#例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]
#如果希望把list的每个元素都作平方,就可以用map()函数:
def square(x):
return x ** 2
print(list(map(square, [1,2,3,4,5])))
#输出:[1, 4, 9, 16, 25]
#特殊用法,做类型转换:
l=map(int,'1234')
for i in l:
print(type(i))
print(i)
print(l)
#输出:
<class 'int'>
1
<class 'int'>
2
<class 'int'>
3
<class 'int'>
4
<map object at 0x000001CF678A93C8>
#返回迭代器
python一次输入多个数
a, b, c = map(int, input().split())
1、输入一个数字直接 m = int(input())
2、输入两个数字就是 m, n = map(int, input().split())
3、三个及三个以上就和两个的类似:
a, b, c = map(int, input().split())
a, b, c, d = map(int, input().split())
输出指定位数小数:
round(X, N)
该方法并不严格有效,当X小数位数n<N时,仅能够输出n位小数。
print(‘%.Nf’%X)或者print(“%.Nf”%X)
print(format(X, ‘.Nf’)或者print(format(X,“.Nf”)
print(round(2,2)) #2
print(round(2.0,2)) #2.0
print(round(2.00,2)) #2.0
print('%.2f'%10) #10.00
print(format(10,'.2f')) #10.00
python format函数设置字符串格式
一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
#1.进制转换
'{:b}'.format(11) #输出:1011 二进制
'{:d}'.format(11) #输出:11 十进制
'{:o}'.format(11) #输出:13 八进制
'{:x}'.format(11) #输出:b 十六进制
'{:#x}'.format(11) #输出:0xb 十六进制
'{:#X}'.format(11) #输出:0XB 十六进制
#2.数字填补:
'''
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
13 {:>10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)
'''
>>> '{:0>2d}'.format(5)
#'05'
>>> '{:0<3d}'.format(5)
#'500'
#3.小数处理
'''
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
'''
#4.百分数:
>>> points = 19
>>> total = 22
>>> 'Correct answers: {:.2%}'.format(points/total)
'Correct answers: 86.36%'
#5.正负号
>>> '{:+f}; {:+f}'.format(3.14, -3.14) # 总是显示符号
'+3.140000; -3.140000'
>>> '{: f}; {: f}'.format(3.14, -3.14) # 若是+数,则在前面留空格
' 3.140000; -3.140000'
>>> '{:-f}; {:-f}'.format(3.14, -3.14) # -数时显示-,与'{:f}; {:f}'一致
'3.140000; -3.140000'
#6.位置匹配
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
format转二进制返回整数类型:
>>> print(format(10, 'b'))
1010
#经测试,我发现format只能转整数,小数都没法转二进制
python的 print函数用法
#1. 输出字符串和数字
>>>print("runoob") # 输出字符串
runoob
>>> print(100) # 输出数字
100
>>> str = 'runoob'
>>> print(str) # 输出变量
runoob
>>> L = [1,2,'a'] # 列表
>>> print(L)
[1, 2, 'a']
>>> t = (1,2,'a') # 元组
>>> print(t)
(1, 2, 'a')
>>> d = {'a':1, 'b':2} # 字典
>>> print(d)
{'a': 1, 'b': 2}
#-------------------------------
#2. 格式化输出
#支持参数格式化,与 C 语言的 printf 类似
>>>str = "the length of (%s) is %d"%('runoob',len('runoob'))
>>> print(str)
the length of (runoob) is 6
'''字符串格式化符号:
%c 格式化字符及其ASCII码
%s 格式化字符串
%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 是小数点后的位数(如果可用的话)
'''
#格式化输出浮点数(float)
>>>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
#格式化输出16进制,十进制,八进制整数
#%x --- hex 十六进制
#%d --- dec 十进制
#%o --- oct 八进制
>>>nHex = 0xFF
>>> print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))
nHex = ff,nDec = 255,nOct = 377