练习1
#(2018-携程-春招题)题目需求:
给定一个整形数组, 将数组中所有的0移动到末尾, 非0项保持不变;
在原始数组上进行移动操作, 勿创建新的数组;
#输入:
第一行是数组长度, 后续每一行是数组的一条记录;
4
0
7
0
2
#输出:
调整后数组的内容;
7
2
0
0
len = int(input('长度:'))
xia = [int(input()) for i in range(len)]
def move(item):
if item == 0:
return 1
else:
return 0
for i in sorted(xia,key=move): # xia按照返回值1和0排序, 返回值0(值不等于0的)在前,1(值等于0的)在后,排完序了以后遍历
print(i)
练习2
如何快速生成验证码,快速生成内推码
import random
import string
code_str = string.ascii_letters + string.digits # 所有大小写字母+数字
#print(code_str)
#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
def gen_code(len=4):
return ''.join(random.sample(code_str,len))
# random.sample(code_str,len)随机在code_str中挑选长度为8的字符例如['w', 'S', 'M', 'y', 'C', 'r', 'F', 'g']
# 然后在以空连接成为一个字符串[wSMyCrFg]
print([gen_code(len=8) for i in range(1000)])