python中函数与递归的练习

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

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

    users = []
    
    
    # 用户类,包含基本信息
    class User:
        def __init__(self, name, password, email=None):
            self.name = name
            self.password = password
    
        def __str__(self):
            return f"User(Name: {self.name}, Password: {self.password})"
    
    
    # 用户管理系统
    class UserManager:
        def __init__(self):
            self.users = users
    
        def add_user(self, user):
            self.users.append(user.__dict__)
            print(f"User {user.name} added successfully.")
    
        def get_user(self, name):
            for user_info in self.users:
                if user_info['name'] == name:
                    return user_info
            return None
    
        def list_users(self):
            for user_info in self.users:
                print(user_info)
    
    
    user_manager = UserManager()
    
    # 添加用户
    user1 = User('张三', 'password123')
    user2 = User('李四', 'lisi963')
    user_manager.add_user(user1)
    user_manager.add_user(user2)
    
    # 列出所有用户
    print("List of users:")
    user_manager.list_users()
    
    # 根据用户名获取用户信息
    lisi_info = user_manager.get_user('李四')
    if lisi_info:
        print(lisi_info)

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

    sum = 0
    for i in range(1,101):
      if i % 3 == 0 :
        sum +=  i
    print(sum)
    

    输出如下

 4.

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


def zhishu(N):
  for i in  range (1,N):
    if N % i == 0 :
        return False
        return N
N = int(input("请输入一个整数N: "))
sum = 0
for i in range (2,N):
    if zhishu(N):
        sum += i
        print (sum)



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

def PI(x):
	count = 0
	n = 0
	for i in range(1,x + 1):
		count += ((-1)**n)*(1/(2 * i -1))
		n +=1
	return count
 
 
a = int(input("请输入长度(整数):"))
b = 4 * PI(a)
print(b)

输出

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

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

def  sum(a,n):
	sum = 0
	for i in range(1,n + 1):
		num = int(f"{a}" * i)
		sum += num
	return sum
 
 
a = int(input("请输入1~9之间的正整数:"))
n = int(input("请输入项数:"))
print(f'所求和为{sum(a,n)}')

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

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

def move(arr):
    index = 0  # 偶数的当前位置
 
    for num in arr:
        if num % 2 == 0:
            # 将偶数移动到数组的前端
            arr[index], num = num, arr[index]
            # 移动偶数位置
            index += 1
 
    return arr
 

  • 35
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值