冒泡排序、 合并数组、偶奇重排、#a#a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定 、计算一个数转化为二进制时0,1的个数

一、冒泡排序

1、代码

def paixu(arr):
	"""冒泡排序"""
	for i in range(len(arr) - 1):
		for j in range(len(arr) - i - 1):
			if arr[j] > arr[j+1]:
				arr[j], arr[j+1] = arr[j+1], arr[j]
	return arr


ls = [1,23,43,2,3,-10,99,10,11]
ls = paixu(ls)
print(ls)

2、运行结果

 二、合并数组

1、代码

def loop_merge_sort(l1,l2):
    tmp = []   #构造一个的新的列表
    while len(l1)>0 and len(l2)>0:
        if l1[0] <l2[0]:        #循环每次比较第一个元素
            tmp.append(l1[0])   #tmp添加元素
            del l1[0]           #l1删除一个,原有的元素自动向前移动一位
        else:
            tmp.append(l2[0])
            del l2[0]
    while len(l1)>0:
        tmp.append(l1[0])
        del l1[0]
    while len(l2)>0:
        tmp.append(l2[0])
        del l2[0]
    return tmp

if __name__ == '__main__':
    L1=[23,45,67,77,78,80,90]
    L2=[4,11,26,33,42,61,80]
    new_list=loop_merge_sort(L1,L2)
    print(new_list)

2、运行结果

 三、偶奇重排

1、代码

def CLASS(A):
    o = []
    e = []
    for item in A:
        if item % 2:
            o.append(item)
        else:
            e.append(item)
    return e+o 
A =[6,3,2,4]
A =CLASS(A)
print(A)

2、运行结果

运行结果不是想要的,改改吧


def CLASS(A):#定义CLASS函数
    o = []
    e = []
    #将奇数放在O里,偶数放在e中
    for item in A:
        if item % 2:
            o.append(item)   
        else:
            e.append(item)
    return e+o 
A =[6,3,2,4,7]
A.sort()   #排序
A =CLASS(A)
print(A)

四、计算一个数转化为二进制时0,1的个数

1、代码

num = int(input("请输入一个整数:"))
res = bin(num)
res = res[2:]
z_count = 0
o_count = 0
def CLASS(res):#定义CLASS函数

# 可以通过系统api完成转换
	
	for i in res:
		if i == "0":
			z_count += 1
		else:
			o_count += 1
	return res		


	print(f"{num}转换二进制后,0有{z_count}个,1有{o_count}个")

 2、运行结果

五、 #a#a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定 

1、代码

#a#a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定 
#num = int(input("请输入一个1-9的数:"))
#sum=0
#temb=0
#for i in range(num):
# temb=10*temb+num
# sum=sum+temb
#print(f"你输入的项数是:{num}")
#print(f"输出的值为{sum}")


def Class(num):
	sum=0
	temb=0
	for i in range(num):
		temb=10*temb+num
		sum=sum+temb
	print(f"你输入的项数是:{num}")
	print(f"输出的值为{sum}")
	return num
num = int(input("请输入一个1-9的数:"))	
num=Class(num)

2、运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值