代码改变世界

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