python刷题
shuffle函数
shuffle()方法将序列的所有元素随机排列,需要先导入random模块,在通过random静态对象调用该方法。
例:python6-8 输出全排列
import random
n = int(input())
a = []
jc = 1
for i in range(1,n+1):
jc = jc * i
s = set() # 元素不重复的集合
for i in range(1,n+1):
a.append(str(i))
while len(s) < jc:
random.shuffle(a) # 将集合里面的数打乱排序
s.add("".join(a)) # 将集合里面的数以无连接符的方式连接起来,加入到集合s中
for i in sorted(s):
print(i)
sys模块的sys.stdin.read() / readline()
python3中使用sys.stdin.readline()可以实现标准输入,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换。
sys.stdin.readline( )会将标准输入全部获取,包括末尾的’\n’,因此用len计算长度时是把换行符’\n’算进去了的,但是input( )获取输入时返回的结果是不包含末尾的换行符’\n’的。
例:python7-1
import sys
s = sys.stdin.read() # 所有数据一次读入
s = s[:s.find("#")] # 在“#”的地方结束,切片<