Python练习4

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

def ten_to_twe(num):
    x = bin(num)
    x = list(str(x))[2:]               # [2:]的作用:转换为二进制字符串,去除前缀'0b'
    return x.count('0'), x.count('1')  # 这里不能用and 
                                       # .count(sub)方法用于统计字符串中子字符串sub出现的次数。

num = int(input("十进制转二进制:"))
a,b = ten_to_twe(num)
print(f'{bin(num)[2:]}中,有{a}个0,有{b}个1.')


2. 实现一个用户管理系统(要求使用容器保存数据)
[{name: xxx, pass: xxx, ……},{},{}]

users = []

class User:
    def __init__ (self, name, password):
        self.name = name
        self.password = password

def sign_up(name,password):
    new_user = User(name, password)
    users.append(new_user)
    print("注册登陆成功!")


def menu():
    print("1. 注册登录 2.退出")

while True:
    menu()
    choice = int(input("请选择:"))
    if choice == 1:
        name = input("name=")
        password = input("password=")
        sign_up(name,password)
        break
    else:
        break

print(users)


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

total=sum([i for i in range (1,100)if i % 3 == 0])

print("1~100之间不能被3整除的数之和:",total)


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

def zhishu(num):

    for i in range (2,num//2+1):
        if num % i == 0:
            return False
    return  True

def he(a,b):
    s=0
    for i in range (a,b+1):
        if zhishu(i) == True:
            s += i
    return s

N=int(input("一个正整数N:"))
print(he(2,N))


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

def PI():
    n = 0
    sum_PI = 0
    for i in range(1,10000,2):
        sum_PI += ((-1)**n)*(1/i)
        n += 1
    PI = 4 * sum_PI
    return PI
 
print("PI =", PI())


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

def list(x):
    return sorted(x)
 
a = [47,27,67,84,85,62,70,19,12,32]
list1 = list(a)
print(list1)

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

def jishuan(a,n):
    s = 0
    w = 0
    for i in range (n):
        w = w*10+a
        s += w
    return s

a = int (input("输入a为1至9之中的一个数:"))
n = int (input("输入a的项数:"))
print(jishuan(a,n))


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

import itertools
 
def lists(list1, list2):
    # 使用itertools.chain合并两个有序列表,并转换回列表类型
    return list(itertools.chain(list1, list2))
 
list1 = [1,3,5,7]
list2 = [2,4,6,8]
x = lists(list1, list2)
print(x)


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值