我就不信还记不住╰(°▽°)╯
不定期更
需要用到的内容:
参考博客:https://www.jb51.net/article/169914.htm
参考博客:https://www.cnblogs.com/yyxayz/p/4034299.html
split()
切分用的函数是split(),如果为空,就是按空格分割(很多个空格也会当成1个空格)。
如果按照逗号分隔,split(",")
strip()
s为字符串,rm为要删除的字符序列. 只能删除开头或是结尾的字符或是字符串。不能删除中间的字符或是字符串。
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
sys.stdin.readline()
(记得要import sys)
sys.stdin.readline()可以实现标准输入,需要调用sys库,sys.stdin是一个标准化输入的方法,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换。
注意:
① 默认输入的是字符串(注意strip('\n')表示以\n分隔,否则输出是“字符串+\n”的形式 )
② 如果是多个输入,strip()默认是以空格分隔,返回的是一个包含多个字符串的list
③ 如果要强制转换成int等类型,可以调用map()函数。
sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n'忽略.
---------------下面进入正题----先读一行--------------------
读取数字
1. 读取一行里的多个数字,用空格隔开,回车结束,用列表保存
参考博客:https://blog.csdn.net/qq_14841239/article/details/82903445
list1 = list(map(int, input().split()))
print (list1) #[12, 43, 27, 94, 73]
2. 读取一行里的多个数字,用空格隔开,回车结束,分别保存
但是好像需要提前知道数字的个数?
参考博客:https://blog.csdn.net/Hackeryuan/article/details/103714783
a,b =map(int, input().split())
print ('a : %d, b : %d' %(a,b)) #a : 143, b : 888
用sys:
a, b = map(int, sys.stdin.readline().split())
读取字符串
1. 读取一行里的多个字符串,用空格隔开,回车结束,用列表保存
s = input().split() #['gsg', 'ewg', '83gj', '924'] (瞎打的)
用sys:
list1 = sys.stdin.readline().split()
2. 读取一行里的多个字符串,用空格隔开,回车结束,分别保存
s1,s2 = input().split()
print ('s1 : %s, s2 : %s' %(s1,s2)) #s1 : tt0s, s2 : 4ge
用sys:
https://blog.csdn.net/demon24/article/details/8502565
str1, str2 = map(str, sys.stdin.readline().split())
print ('str1 : %s, str2 : %s' %(str1,str2)) #str1 : ghaf74, str2 : 09fr
print ('str1的长度 : %d, str2的长度 : %d' %(len(str1),len(str2))) #str1的长度 : 6, str2的长度 : 4
----------------------试试读多行---------------------------
- 最简单的是input(),注意如果需要int类型,需要强转 int(intput())
- 如何判断输入结束了:按下Enter,然后按下ctrl+d
读取字符串
1. 不指定行数,读取多行字符串,每行里的字符串以空格隔开,存入一维/二维list
来源博客:https://blog.csdn.net/qq_26884501/article/details/89194211
import sys
try:
mx = []
while True:
m = sys.stdin.readline().strip()
#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
if m == '':
break
m = list(m.split())
mx.append(m) #二维,如果要一维,就用extend
print(mx)
except:
pass
extend出来的是一维list:
image.png
append出来的是二维list:
image.png
2. 不指定行数,读取多行数字,每行里的数字以空格隔开,存入二维list
(其实就是把上面代码改了改,转成了int)
import sys
try:
mx = []
while True:
m = sys.stdin.readline().strip()
#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
if m == '':
break
m = list(map(int, m.split())) #改的是这里!
mx.append(m)
print(mx)
print(mx[0][0])
print(type(mx[0][0])) #看看是不是int
except:
pass
append出来的是二维list:
image.png
网友评论