Python-day05

1.求一个十进制的数值的二进制的0、1的个数

def count_er(num):
    count_num_0 = 0
    count_num_1 = 0
    num = bin(num)
    for i in num[2:]:
        if i == '0':
            count_num_0 += 1
        elif i == '1':
            count_num_1 += 1
    return f'该数的二进制值中0的个数为{count_num_0};1的个数为{count_num_1}'


n = int(input("请输入一个十进制数"))
print(count_er(n))

2.实现一个用户管理系统(要求使用容器保存数据)
        [{name: xxx, pass: xxx, ……},{},{}]
该系统可以额外添加删除,更改用户信息等要求。

def add_info():
    name = input("输入你的姓名")
    sex = input("输入你的性别")
    age = input("输入您的年龄")
    dict1 = {}
    dict1["姓名"] = name
    dict1["性别"] = sex
    dict1["年龄"] = age
    li.append(dict1)

    print("注册成功")

def select_info():
    s = input("请输入您的姓名")
    for i in li:
        if s in i.values():
            print(i)
        else:
            print("不好意思,你还没有登记过")
    
li = []
while True:
    num = input("请选择你要进行的操作,1登记信息,2查询信息,其他键退出")
    if num == '1':
        add_info()
    elif num == '2':
        select_info()
    else:
        break

3.求1~100之间不能被3整除的数之和

def sum_not3():
    sum_n = 0
    for i in range(1,101):
        if i % 3 != 0:
            sum_n += i
    return f'1~100之间不能被3整除的数之和为{sum_n}'


print(sum_not3())

4.给定一个正整数N,找出1到N(含)之间所有质数的总和

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True


def sumprimes(n):
    sum_pri = 0
    for i in range(2, n + 1):
        if is_prime(i):
            sum_pri += i
    return sum_pri


N = int(input("请输入一个正整数:"))
result = sumprimes(N)
print(f"1 到 {N} 之间所有质数的总和为:{result}")

5.计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)

def count_PI(n):
    sum = 0
    s = 1
    for i in range(1,2*n,2):
        sum += s*(1/i)
        s *= -1
    return sum*4

print(count_PI(1000))

6.给定一个10个元素的列表,请完成排序(注意,不要使用系统api)

def list_sorted(li):
    for i in range(len(li)):
        for j in range(len(li)-1-i):
            if li[j] > li[j+1]:
                li[j],li[j+1] = li[j+1],li[j]
    return li


li =[15,2,5,3,8,9,7,6,4,11,23,2]
print(list_sorted(li))

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

def count_a(n): 
    sum_a = 0
    for i in range(1,n+1):
        n = str(n)
        s = i * n
        sum_a += int(s)
    return sum_a

n = int(input("输入1-9的一个整数"))
print(count_a(n))

8.合并两个有序数组,合并后还是有序列表

def combine_list(l1,l2):
    l1.extend(l2)
    return sorted(set(l1))

# # l1 = [3,4,5,6,7,99]
# # l2 = [1,2,3,56]
l1 = [int(i) for i in input().split()]
l2 = [int(i) for i in input().split()]
print(combine_list(l1,l2))

9.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

def hs(li):
    l1_q = []
    l1_o = [] 
    for i in li:
        if i % 2 == 0:
            l1_o.append(i)
        else:
            l1_q.append(i)
    l1_o.extend(l1_q)
    return l1_o

li = [int(i) for i in input().split()]
print(hs(li))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值